12 research outputs found

    A biologically plausible learning rule for deep learning in the brain

    Get PDF
    Researchers have proposed that deep learning, which is providing important progress in a wide range of high complexity tasks, might inspire new insights into learning in the brain. However, the methods used for deep learning by artificial neural networks are biologically unrealistic and would need to be replaced by biologically realistic counterparts. Previous biologically plausible reinforcement learning rules, like AGREL and AuGMEnT, showed promising results but focused on shallow networks with three layers. Will these learning rules also generalize to networks with more layers and can they handle tasks of higher complexity? Here, we demonstrate that these learning schemes indeed generalize to deep networks, if we include an attention network that propagates information about the selected action to lower network levels. The resulting learning rule, called Q-AGREL, is equivalent to a particular form of error-backpropagation that trains one output unit at any one time. To demonstrate the utility of the learning scheme for larger problems, we trained networks with two hidden layers on the MNIST dataset, a standard and interesting Machine Learning task. Our results demonstrate that the capability of Q-AGREL is comparable to that of error backpropagation, although the learning rate is 1.5-2 times slower because the network has to learn by trial-and-error and updates the action value of only one output unit at a time. Our results provide new insights into how deep learning can be implemented in the brain

    Array Aware Training/Pruning: Methods for Efficient Forward Propagation on Array-based Neural Network Accelerators

    Get PDF
    Due to the increase in the use of large-sized Deep Neural Networks (DNNs) over the years, specialized hardware accelerators such as Tensor Processing Unit and Eyeriss have been developed to accelerate the forward pass of the network. The essential component of these devices is an array processor which is composed of multiple individual compute units for efficiently executing Multiplication and Accumulation (MAC) operation. As the size of this array limits the amount of DNN processing of a single layer, the computation is performed in several batches serially leading to extra compute cycles along both the axes. In practice, due to the mismatch between matrix and array sizes, the computation does not map on the array exactly. In this work, we address the issue of minimizing processing cycles on the array by adjusting the DNN model parameters by using a structured hardware array dependent optimization. We introduce two techniques in this paper: Array Aware Training (AAT) for efficient training and Array Aware Pruning (AAP) for efficient inference. Weight pruning is an approach to remove redundant parameters in the network to decrease the size of the network. The key idea behind pruning in this paper is to adjust the model parameters (the weight matrix) so that the array is fully utilized in each computation batch. Our goal is to compress the model based on the size of the array so as to reduce the number of computation cycles. We observe that both the proposed techniques results into similar accuracy as the original network while saving a significant number of processing cycles (75%)

    Applications of Emerging Memory in Modern Computer Systems: Storage and Acceleration

    Get PDF
    In recent year, heterogeneous architecture emerges as a promising technology to conquer the constraints in homogeneous multi-core architecture, such as supply voltage scaling, off-chip communication bandwidth, and application parallelism. Various forms of accelerators, e.g., GPU and ASIC, have been extensively studied for their tradeoffs between computation efficiency and adaptivity. But with the increasing demand of the capacity and the technology scaling, accelerators also face limitations on cost-efficiency due to the use of traditional memory technologies and architecture design. Emerging memory has become a promising memory technology to inspire some new designs by replacing traditional memory technologies in modern computer system. In this dissertation, I will first summarize my research on the application of Spin-transfer torque random access memory (STT-RAM) in GPU memory hierarchy, which offers simple cell structure and non-volatility to enable much smaller cell area than SRAM and almost zero standby power. Then I will introduce my research about memristor implementation as the computation component in the neuromorphic computing accelerator, which has the similarity between the programmable resistance state of memristors and the variable synaptic strengths of biological synapses to simplify the realization of neural network model. At last, a dedicated interconnection network design for multicore neuromorphic computing system will be presented to reduce the prominent average latency and power consumption brought by NoC in a large size neuromorphic computing system

    Detección de dedos utilizando técnicas de visión por computador y machine learning

    Get PDF
    El objetivo del trabajo consiste en realizar un algoritmo capaz de contar el número de dedos que está mostrando una mano aplicando técnicas de visión artificial y Machine Learning. Para la resolución del problema se ha utilizado una cámara infrarroja con la tecnología de luz estructurada para la captación de imágenes. En el apartado de Machine Learning se han comparado 4 métodos distintos para la identificación de las imágenes de la mano. Los métodos estudiados han sido Maquinas de Vectores de Soporte, Bosques Aleatorios, K-Vecinos más Cercanos y Perceptrón Multicapa. Los tres primeros se corresponden con técnicas de Machine Learning tradicional, mientras que el último entra dentro del campo del Deep Learning. También se han estudiado los conceptos básicos de la visión artificial necesarios para llevar a cabo este trabajo. Este trabajo también puede ser considerado como un tutorial para adentrarse en el mundo de la inteligencia artificial puesto parte desde cero. El proceso comienza con la creación de una base de datos, incluyendo el filtrado completo de la imagen, y finaliza con el análisis de los resultados obtenidos tras realizar distintas pruebas. El método que mejor ha trabajado utilizando nuestra propia base de datos ha sido el de Máquinas de Vectores de Soporte, tanto en el análisis utilizando las imágenes de la base de datos no utilizadas en el entrenamiento, como en el análisis en tiempo real, consiguiendo más de un 95% de acierto en el primer caso.The aim of this work is to create an algorithm that count the number of fingers that is showing a hand, by applying artificial vision and machine learning techniques. To get the images, an infrared camera with structured light technology has been used. In the machine learning section, 4 different methods had been compared in order to identify the images of the hand. The analysed methods are Support Vector Machines, Random Forest, K-Nearest Neighbour, and Multilayer Perceptron. The first three correspond with traditional machine learning algorithms, while the last one is in the deep learning field. The necessary basic concepts of artificial vision needed to carry out this project are also studied. This work could be also a tutorial to get inside the artificial intelligence world as it starts from the scratch. The process begins with the creation of a database, including all the filtering of the images, and ends with the analysis of the obtained results before doing different trials. The method with the best results by using our own database is Support Vector Machines, both in the analysis with the image in the database that where not used in the training as in the real time analysis, obtaining more than a 95% of right guess in the first case.Ingeniería Electrónica Industrial y Automátic
    corecore