Cerebellar model articulation controller

Cerebellar model articulation controller

The cerebellar model arithmetic computer (CMAC) is a type of neural network based on a model of the mammalian cerebellum. It is also known as the cerebellar model articulation controller. It is a type of associative memory. The CMAC was first proposed as a function modeler for robotic controllers by James Albus in 1975 (hence the name), but has been extensively used in reinforcement learning and also as for automated classification in the machine learning community. The CMAC is an extension of the perceptron model. It computes a function for n {\displaystyle n} input dimensions. The input space is divided up into hyper-rectangles, each of which is associated with a memory cell. The contents of the memory cells are the weights, which are adjusted during training. Usually, more than one quantisation of input space is used, so that any point in input space is associated with a number of hyper-rectangles, and therefore with a number of memory cells. The output of a CMAC is the algebraic sum of the weights in all the memory cells activated by the input point. A change of value of the input point results in a change in the set of activated hyper-rectangles, and therefore a change in the set of memory cells participating in the CMAC output. The CMAC output is therefore stored in a distributed fashion, such that the output corresponding to any point in input space is derived from the value stored in a number of memory cells (hence the name associative memory). This provides generalisation. == Building blocks == In the adjacent image, there are two inputs to the CMAC, represented as a 2D space. Two quantising functions have been used to divide this space with two overlapping grids (one shown in heavier lines). A single input is shown near the middle, and this has activated two memory cells, corresponding to the shaded area. If another point occurs close to the one shown, it will share some of the same memory cells, providing generalisation. The CMAC is trained by presenting pairs of input points and output values, and adjusting the weights in the activated cells by a proportion of the error observed at the output. This simple training algorithm has a proof of convergence. It is normal to add a kernel function to the hyper-rectangle, so that points falling towards the edge of a hyper-rectangle have a smaller activation than those falling near the centre. One of the major problems cited in practical use of CMAC is the memory size required, which is directly related to the number of cells used. This is usually ameliorated by using a hash function, and only providing memory storage for the actual cells that are activated by inputs. == One-step convergent algorithm == Initially least mean square (LMS) method is employed to update the weights of CMAC. The convergence of using LMS for training CMAC is sensitive to the learning rate and could lead to divergence. In 2004, a recursive least squares (RLS) algorithm was introduced to train CMAC online. It does not need to tune a learning rate. Its convergence has been proved theoretically and can be guaranteed to converge in one step. The computational complexity of this RLS algorithm is O(N3). == Hardware implementation infrastructure == Based on QR decomposition, an algorithm (QRLS) has been further simplified to have an O(N) complexity. Consequently, this reduces memory usage and time cost significantly. A parallel pipeline array structure on implementing this algorithm has been introduced. Overall by utilizing QRLS algorithm, the CMAC neural network convergence can be guaranteed, and the weights of the nodes can be updated using one step of training. Its parallel pipeline array structure offers its great potential to be implemented in hardware for large-scale industry usage. == Continuous CMAC == Since the rectangular shape of CMAC receptive field functions produce discontinuous staircase function approximation, by integrating CMAC with B-splines functions, continuous CMAC offers the capability of obtaining any order of derivatives of the approximate functions. == Deep CMAC == In recent years, numerous studies have confirmed that by stacking several shallow structures into a single deep structure, the overall system could achieve better data representation, and, thus, more effectively deal with nonlinear and high complexity tasks. In 2018, a deep CMAC (DCMAC) framework was proposed and a backpropagation algorithm was derived to estimate the DCMAC parameters. Experimental results of an adaptive noise cancellation task showed that the proposed DCMAC can achieve better noise cancellation performance when compared with that from the conventional single-layer CMAC. == Summary ==

Connectionist expert system

Connectionist expert systems are artificial neural network (ANN) based expert systems where the ANN generates inferencing rules e.g., fuzzy-multi layer perceptron where linguistic and natural form of inputs are used. Apart from that, rough set theory may be used for encoding knowledge in the weights better and also genetic algorithms may be used to optimize the search solutions better. Symbolic reasoning methods may also be incorporated (see hybrid intelligent system). (Also see expert system, neural network, clinical decision support system.)

Foreground detection

Foreground detection is one of the major tasks in the field of computer vision and image processing whose aim is to detect changes in image sequences. Background subtraction is any technique which allows an image's foreground to be extracted for further processing (object recognition etc.). Many applications do not need to know everything about the evolution of movement in a video sequence, but only require the information of changes in the scene, because an image's regions of interest are objects (humans, cars, text etc.) in its foreground. After the stage of image preprocessing (which may include image denoising, post processing like morphology etc.) object localisation is required which may make use of this technique. Foreground detection separates foreground from background based on these changes taking place in the foreground. It is a set of techniques that typically analyze video sequences recorded in real time with a stationary camera. == Description == All detection techniques are based on modelling the background of the image, i.e., setting the background and detecting which changes occur. Defining the background can be difficult when it contains shapes, shadows, and moving objects. In defining the background, it is assumed that stationary objects may vary in color and intensity over time. Scenarios in which these techniques apply tend to be very diverse. There can be highly variable sequences, such as images with different lighting, interiors, exteriors, quality, and noise. In addition to real-time processing, systems need to adapt to these changes. A foreground detection system should be able to: Develop a background model (estimate). Be robust to lighting changes, repetitive movements (leaves, waves, shadows), and long-term changes. == Background subtraction == Background subtraction is a widely used approach for detecting moving objects in videos from static cameras. The rationale in the approach is that of detecting the moving objects from the difference between the current frame and a reference frame, often called "background image", or "background model". Background subtraction is mostly done if the image in question is a part of a video stream. Background subtraction provides important cues for numerous applications in computer vision, for example surveillance tracking or human pose estimation. Background subtraction is generally based on a static background hypothesis which is often not applicable in real environments. With indoor scenes, reflections or animated images on screens lead to background changes. Similarly, due to wind, rain or illumination changes brought by weather, static backgrounds methods have difficulties with outdoor scenes. == Temporal average filter == The temporal average filter is a method that was proposed at the Velastin. This system estimates the background model from the median of all pixels of a number of previous images. The system uses a buffer with the pixel values of the last frames to update the median for each image. To model the background, the system examines all images in a given time period called training time. At this time, we only display images and will find the median, pixel by pixel, of all the plots in the background this time. After the training period for each new frame, each pixel value is compared with the input value of funds previously calculated. If the input pixel is within a threshold, the pixel is considered to match the background model and its value is included in the pixbuf. Otherwise, if the value is outside this threshold pixel is classified as foreground, and not included in the buffer. This method cannot be considered very efficient because they do not present a rigorous statistical basis and requires a buffer that has a high computational cost. == Conventional approaches == A robust background subtraction algorithm should be able to handle lighting changes, repetitive motions from clutter and long-term scene changes. The following analyses make use of the function of V(x,y,t) as a video sequence where t is the time dimension, x and y are the pixel location variables. e.g. V(1,2,3) is the pixel intensity at (1,2) pixel location of the image at t = 3 in the video sequence. === Using frame differencing === A motion detection algorithm begins with the segmentation part where foreground or moving objects are segmented from the background. The simplest way to implement this is to take an image as background and take the frames obtained at the time t, denoted by I(t) to compare with the background image denoted by B. Here using simple arithmetic calculations, we can segment out the objects simply by using image subtraction technique of computer vision meaning for each pixels in I(t), take the pixel value denoted by P[I(t)] and subtract it with the corresponding pixels at the same position on the background image denoted as P[B]. In mathematical equation, it is written as: P [ F ( t ) ] = P [ I ( t ) ] − P [ B ] {\displaystyle P[F(t)]=P[I(t)]-P[B]} The background is assumed to be the frame at time t. This difference image would only show some intensity for the pixel locations which have changed in the two frames. Though we have seemingly removed the background, this approach will only work for cases where all foreground pixels are moving, and all background pixels are static. A threshold "Threshold" is put on this difference image to improve the subtraction (see Image thresholding): | P [ F ( t ) ] − P [ F ( t + 1 ) ] | > T h r e s h o l d {\displaystyle |P[F(t)]-P[F(t+1)]|>\mathrm {Threshold} } This means that the difference image's pixels' intensities are 'thresholded' or filtered on the basis of value of Threshold. The accuracy of this approach is dependent on speed of movement in the scene. Faster movements may require higher thresholds. === Mean filter === For calculating the image containing only the background, a series of preceding images are averaged. For calculating the background image at the instant t: B ( x , y , t ) = 1 N ∑ i = 1 N V ( x , y , t − i ) {\displaystyle B(x,y,t)={1 \over N}\sum _{i=1}^{N}V(x,y,t-i)} where N is the number of preceding images taken for averaging. This averaging refers to averaging corresponding pixels in the given images. N would depend on the video speed (number of images per second in the video) and the amount of movement in the video. After calculating the background B(x,y,t) we can then subtract it from the image V(x,y,t) at time t = t and threshold it. Thus the foreground is: | V ( x , y , t ) − B ( x , y , t ) | > T h {\displaystyle |V(x,y,t)-B(x,y,t)|>\mathrm {Th} } where Th is a threshold value. Similarly, we can also use median instead of mean in the above calculation of B(x,y,t). Usage of global and time-independent thresholds (same Th value for all pixels in the image) may limit the accuracy of the above two approaches. === Running Gaussian average === For this method, Wren et al. propose fitting a Gaussian probabilistic density function (pdf) on the most recent n {\displaystyle n} frames. In order to avoid fitting the pdf from scratch at each new frame time t {\displaystyle t} , a running (or on-line cumulative) average is computed. The pdf of every pixel is characterized by mean μ t {\displaystyle \mu _{t}} and variance σ t 2 {\displaystyle \sigma _{t}^{2}} . The following is a possible initial condition (assuming that initially every pixel is background): μ 0 = I 0 {\displaystyle \mu _{0}=I_{0}} σ 0 2 = ⟨ some default value ⟩ {\displaystyle \sigma _{0}^{2}=\langle {\text{some default value}}\rangle } where I t {\displaystyle I_{t}} is the value of the pixel's intensity at time t {\displaystyle t} . In order to initialize variance, we can, for example, use the variance in x and y from a small window around each pixel. Note that background may change over time (e.g. due to illumination changes or non-static background objects). To accommodate for that change, at every frame t {\displaystyle t} , every pixel's mean and variance must be updated, as follows: μ t = ρ I t + ( 1 − ρ ) μ t − 1 {\displaystyle \mu _{t}=\rho I_{t}+(1-\rho )\mu _{t-1}} σ t 2 = d 2 ρ + ( 1 − ρ ) σ t − 1 2 {\displaystyle \sigma _{t}^{2}=d^{2}\rho +(1-\rho )\sigma _{t-1}^{2}} d = | ( I t − μ t ) | {\displaystyle d=|(I_{t}-\mu _{t})|} Where ρ {\displaystyle \rho } determines the size of the temporal window that is used to fit the pdf (usually ρ = 0.01 {\displaystyle \rho =0.01} ) and d {\displaystyle d} is the Euclidean distance between the mean and the value of the pixel. We can now classify a pixel as background if its current intensity lies within some confidence interval of its distribution's mean: | ( I t − μ t ) | σ t > k ⟶ foreground {\displaystyle {\frac {|(I_{t}-\mu _{t})|}{\sigma _{t}}}>k\longrightarrow {\text{foreground}}} | ( I t − μ t ) | σ t ≤ k ⟶ background {\displaystyle {\frac {|(I_{t}-\mu _{t})|}{\sigma _{t}}}\leq k\longrightarrow {\text{background}}} where the parameter k {\displaystyle k} is a free threshold (usuall

Daylight Computer Co.

Daylight Computer Co. is a Public Benefit Company that designs and manufactures devices that do not emit blue light or flicker. Anjan Katta, the company's founder and CEO, stated that he started the company to reduce his personal eyestrain and the distraction that came with conventional devices. The first device that the company released is the Daylight DC-1, a tablet using a monochrome transflective liquid-crystal display designed for outdoor use, while also being usable indoors with an amber backlight. The company's goal is to create a "healthy computer." == History == In June 2018, Anjan Katta began the process of designing a device that did not emit blue light or flicker. He was inspired by the Kindle stating that he wanted to create a device that was, "an analog object that happens to have digital magical capabilities.” By 2020, he created his first scientific prototype and created the first proof-of-concept prototype in 2021. In the early research and development stages of the device, Katta had spent $300,000 of his own money. Eventually, Katta obtained a $12 million investment from current and former executives of companies such as Oculus, Pinterest, and Dropbox. In 2024, the company held a launch party at the Conservatory of Flowers in Golden Gate Park for the Daylight DC1, the company's first device. The event had roughly 200 attendees. Later that year, Daylight sold out its first run of 5,000 devices. The Daylight DC1 is a 1.2 pound tablet that runs its own operating system, SolOS, based on Android 13. It has a refresh rate of 60 Hz, fast enough to process video. In 2025, the product was demonstrated by Danny Jones on the Joe Rogan Experience. The company has been described by outlets such as Wired and VentureBeat as a "returning computing to hippie ideals" and being a product for "techno-hippies." The company is headquartered in San Francisco, California.

Interference (communication)

In telecommunications, an interference is that which modifies a signal in a disruptive manner, as it travels along a communication channel between its source and receiver. The term is often used to refer to the addition of unwanted signals to a useful signal. Common examples include: Electromagnetic interference (EMI) Co-channel interference (CCI), also known as crosstalk Adjacent-channel interference (ACI) Intersymbol interference (ISI) Inter-carrier interference (ICI), caused by doppler shift in OFDM modulation (multitone modulation). Common-mode interference (CMI) Conducted interference Noise is a form of interference but not all interference is noise. Radio resource management aims at reducing and controlling the co-channel and adjacent-channel interference. == Interference alignment == A solution to interference problems in wireless communication networks is interference alignment, which was crystallized by Syed Ali Jafar at the University of California, Irvine. A specialized application was previously studied by Yitzhak Birk and Tomer Kol for an index coding problem in 1998. For interference management in wireless communication, interference alignment was originally introduced by Mohammad Ali Maddah-Ali, Abolfazl S. Motahari, and Amir Keyvan Khandani, at the University of Waterloo, for communication over wireless X channels. Interference alignment was eventually established as a general principle by Jafar and Viveck R. Cadambe in 2008, when they introduced "a mechanism to align an arbitrarily large number of interferers, leading to the surprising conclusion that wireless networks are not essentially interference limited." This led to the adoption of interference alignment in the design of wireless networks. Jafar explained: My research group crystallized the concept of interference alignment and showed that through interference alignment, it is possible for everyone to access half of the total bandwidth free from interference. Initially this result was shown under a number of idealized assumptions that are typical in theoretical studies. We have since continued to work on peeling off these idealizations one at a time, to bring the theory closer to practice. Along the way we have made numerous discoveries through the lens of interference alignment, which reveal new and powerful signaling schemes. According to New York University senior researcher Paul Horn: Syed Jafar revolutionized our understanding of the capacity limits of wireless networks. He demonstrated the astounding result that each user in a wireless network can access half of the spectrum without interference from other users, regardless of how many users are sharing the spectrum. This is a truly remarkable result that has a tremendous impact on both information theory and the design of wireless networks.

Wavelet noise

Wavelet noise is an alternative to Perlin noise which reduces the problems of aliasing and detail loss that are encountered when Perlin noise is summed into a fractal. == Algorithm detail == The basic algorithm for 2-dimensional wavelet noise is as follows: Create an image, R {\displaystyle R} , filled with uniform white noise. Downsample R {\displaystyle R} to half-size to create R ↓ {\displaystyle R^{\downarrow }} , then upsample it back up to full size to create R ↓↑ {\displaystyle R^{\downarrow \uparrow }} . Subtract R ↓↑ {\displaystyle R^{\downarrow \uparrow }} from R {\displaystyle R} to create the end result, N {\displaystyle N} . This results in an image that contains all the information that cannot be represented at half-scale. From here, N {\displaystyle N} can be used similarly to Perlin noise to create fractal patterns.

Mosaik Solutions

Mosaik Solutions (formerly American Roamer) was a company that specializes in wireless coverage data and wireless coverage maps, based in Memphis, Tennessee before being acquired by Ookla. The company collects and crowdsources carrier signal quality from major telecommunications providers or users who have its consumer or enterprise mobile application installed. The data is used to provide insights into places around the world without access to cellular coverage and the development of new coverage patterns, as well as to provide maps showing what provider offers the best service in an area. In 2011, the Federal Communications Commission (FCC), recognized Mosaik Solutions as the "industry standard" for the presence of wireless service at the census-block level. == History == In 2016, Mosaik purchased Sensorly, a free app developed to crowdsource cellular network performance service and provide coverage mapping for wireless networks worldwide. == Products and services == === MapELEMENTS === MapELEMENTS software is a visualization tool that allows users to analyze data from the largest cellular coverage database in the world. === CellMaps === CellMaps is an interactive mapping solution that allows companies to show their network coverage directly on their website through an iframe or API. In 2013 Mosaik launched an android app for CellMaps that provides data directly from carriers so that users can determine what carrier meets their needs in a given area. On the map you can overlay multiple carriers, zoom to street-view level, and drop a pin onto any given spot to get a breakdown of carrier service in that area. === Signal Insights App === Signal Insights is an SaaS platform service available for android users that measures and analyzes the customer's experience in cellular or Wi-Fi networks. Indoor mode allows a user to upload a building floor plan and then map and test specific points in the building for cellular or Wi-Fi connectivity. === Sensorly App === Sensorly is a free app that crowdsources cellular network performance to provide coverage mapping worldwide and mobile speed data to help consumers make informed decisions when choosing a cellular carrier. In February 2017, Sensorly launched Map Trip, a feature that allows users to map their routes and share with others their signal data at a particular point in real time. === TowerSource === TowerSource is a resource for locating cell towers and identifying ownership, availability, fiber routes, type and height. It was acquired by Mosaik Solutions in September 2014. === Network Validator === Network Validator is a SaaS solution designed for users to quickly determine whether global cellular networks exist - by country, operator and wireless technology. === CoverageRight === CoverageRight is composed of licensed GIS file datasets that identify the marketed coverage of wireless operators in the United States and worldwide. It enables users to perform spatial analyses, monitor competitive build-outs, analyze coverage trends and assemble roaming footprints. This data has been utilized by the FCC to analyze wireless coverage nationwide. === Network QoE === Network QoE is an enterprise platform that uses crowdsourced data from cellular devices to detect wireless network issues including 3G, 4G and wifi accessibility, network coverage holes and data performance issues. === Wireless Spectrum Report === In March 2017, Mosaik Solutions launched the Wireless Spectrum Report, a tabular dataset detailing facts about spectrum ownership and availability in the United States.