Deep Learning
Top 10 Free Deep Learning Massive Open Online Courses
To compile this list, we explored deep learning MOOCs (Massive Open Online Courses) published by top universities, colleges, and leading tech companies. Dedicated to beginners, intermediate, and advanced learners, and covering most concepts of Deep Learning, from the most basic to the cutting-edge, all of these courses are free and self-paced, and some of them even offer certificates. It goes without saying that all of these courses come with some prerequisites: basic knowledge of mathematics, how to manipulate GitHub repositories, and a good command of programming languages like Python. Google has published an online course dedicated to deep learning via Udacity, the online course platform. Google's MOOC trains intermediate to advanced developers free of charge for 12 weeks on many aspects of deep learning, such as how to build and optimize deep neural networks.
Automatic Music Highlight Extraction using Convolutional Recurrent Attention Networks
Ha, Jung-Woo, Kim, Adrian, Kim, Chanju, Park, Jangyeon, Kim, Sunghun
Music highlights are valuable contents for music services. Most methods focused on low-level signal features. We propose a method for extracting highlights using high-level features from convolutional recurrent attention networks (CRAN). CRAN utilizes convolution and recurrent layers for sequential learning with an attention mechanism. The attention allows CRAN to capture significant snippets for distinguishing between genres, thus being used as a high-level feature. CRAN was evaluated on over 32,000 popular tracks in Korea for two months. Experimental results show our method outperforms three baseline methods through quantitative and qualitative evaluations. Also, we analyze the effects of attention and sequence information on performance.
Ray: A Distributed Framework for Emerging AI Applications
Moritz, Philipp, Nishihara, Robert, Wang, Stephanie, Tumanov, Alexey, Liaw, Richard, Liang, Eric, Paul, William, Jordan, Michael I., Stoica, Ion
The next generation of AI applications will continuously interact with the environment and learn from these interactions. These applications impose new and demanding systems requirements, both in terms of performance and flexibility. In this paper, we consider these requirements and present Ray---a distributed system to address them. Ray implements a dynamic task graph computation model that supports both the task-parallel and the actor programming models. To meet the performance requirements of AI applications, we propose an architecture that logically centralizes the system's control state using a sharded storage system and a novel bottom-up distributed scheduler. In our experiments, we demonstrate sub-millisecond remote task latencies and linear throughput scaling beyond 1.8 million tasks per second. We empirically validate that Ray speeds up challenging benchmarks and serves as both a natural and performant fit for an emerging class of reinforcement learning applications and algorithms.
An MPI-Based Python Framework for Distributed Training with Keras
Anderson, Dustin, Vlimant, Jean-Roch, Spiropulu, Maria
Recent progress in machine learning has enabled deep neural networks (DNNs) to advance the state of the art in a wide range of problem domains, from computer vision to high energy physics [3] [4]. As the applicability of DNNs has broadened, there have been efforts to develop userfriendly tools for building them. Software packages such as Keras [5] and TFLearn [6] facilitate the construction and training of deep neural networks, offering a flexible interface for combining common model components and configuring the optimization process. Large model sizes and long training times have motivated the development of distributed training algorithms for DNNs [7] [8]. These algorithms work by splitting the training task across multiple concurrent processes, which can be threads on a single machine or jobs spread across the nodes of a cluster. The speedup provided by distributed algorithms is relevant when fast training is critical, such as when iterating on model choice during development, or when retraining a model on new data in a production environment. Despite the rise of convenient model-building software packages such as Keras, there are few tools for interfacing these packages with distributed training algorithms. In this paper we introduce a lightweight Python framework, mpi learn, that provides a straightforward means of training Keras models in a distributed fashion. The framework is built on the Message Processing Interface (MPI) protocol [10] and can operate on personal machines, multi-GPU servers, and large supercomputing sites alike.
Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference
Jacob, Benoit, Kligys, Skirmantas, Chen, Bo, Zhu, Menglong, Tang, Matthew, Howard, Andrew, Adam, Hartwig, Kalenichenko, Dmitry
The rising popularity of intelligent mobile devices and the daunting computational cost of deep learning-based models call for efficient and accurate on-device inference schemes. We propose a quantization scheme that allows inference to be carried out using integer-only arithmetic, which can be implemented more efficiently than floating point inference on commonly available integer-only hardware. We also co-design a training procedure to preserve end-to-end model accuracy post quantization. As a result, the proposed quantization scheme improves the tradeoff between accuracy and on-device latency. The improvements are significant even on MobileNets, a model family known for run-time efficiency, and are demonstrated in ImageNet classification and COCO detection on popular CPUs.
Deep Burst Denoising
Godard, Clรฉment, Matzen, Kevin, Uyttendaele, Matt
Noise is an inherent issue of low-light image capture, one which is exacerbated on mobile devices due to their narrow apertures and small sensors. One strategy for mitigating noise in a low-light situation is to increase the shutter time of the camera, thus allowing each photosite to integrate more light and decrease noise variance. However, there are two downsides of long exposures: (a) bright regions can exceed the sensor range, and (b) camera and scene motion will result in blurred images. Another way of gathering more light is to capture multiple short (thus noisy) frames in a "burst" and intelligently integrate the content, thus avoiding the above downsides. In this paper, we use the burst-capture strategy and implement the intelligent integration via a recurrent fully convolutional deep neural net (CNN). We build our novel, multiframe architecture to be a simple addition to any single frame denoising model, and design to handle an arbitrary number of noisy input frames. We show that it achieves state of the art denoising results on our burst dataset, improving on the best published multi-frame techniques, such as VBM4D and FlexISP. Finally, we explore other applications of image enhancement by integrating content from multiple frames and demonstrate that our DNN architecture generalizes well to image super-resolution.
Sockeye: A Toolkit for Neural Machine Translation
Hieber, Felix, Domhan, Tobias, Denkowski, Michael, Vilar, David, Sokolov, Artem, Clifton, Ann, Post, Matt
We describe Sockeye (version 1.12), an open-source sequence-to-sequence toolkit for Neural Machine Translation (NMT). Sockeye is a production-ready framework for training and applying models as well as an experimental platform for researchers. Written in Python and built on MXNet, the toolkit offers scalable training and inference for the three most prominent encoder-decoder architectures: attentional recurrent neural networks, self-attentional transformers, and fully convolutional networks. Sockeye also supports a wide range of optimizers, normalization and regularization techniques, and inference improvements from current NMT literature. Users can easily run standard training recipes, explore different model settings, and incorporate new ideas. In this paper, we highlight Sockeye's features and benchmark it against other NMT toolkits on two language arcs from the 2017 Conference on Machine Translation (WMT): English-German and Latvian-English. We report competitive BLEU scores across all three architectures, including an overall best score for Sockeye's transformer implementation. To facilitate further comparison, we release all system outputs and training scripts used in our experiments. The Sockeye toolkit is free software released under the Apache 2.0 license.
BT-Nets: Simplifying Deep Neural Networks via Block Term Decomposition
Li, Guangxi, Ye, Jinmian, Yang, Haiqin, Chen, Di, Yan, Shuicheng, Xu, Zenglin
Recently, deep neural networks (DNNs) have been regarded as the state-of-the-art classification methods in a wide range of applications, especially in image classification. Despite the success, the huge number of parameters blocks its deployment to situations with light computing resources. Researchers resort to the redundancy in the weights of DNNs and attempt to find how fewer parameters can be chosen while preserving the accuracy at the same time. Although several promising results have been shown along this research line, most existing methods either fail to significantly compress a well-trained deep network or require a heavy fine-tuning process for the compressed network to regain the original performance. In this paper, we propose the \textit{Block Term} networks (BT-nets) in which the commonly used fully-connected layers (FC-layers) are replaced with block term layers (BT-layers). In BT-layers, the inputs and the outputs are reshaped into two low-dimensional high-order tensors, then block-term decomposition is applied as tensor operators to connect them. We conduct extensive experiments on benchmark datasets to demonstrate that BT-layers can achieve a very large compression ratio on the number of parameters while preserving the representation power of the original FC-layers as much as possible. Specifically, we can get a higher performance while requiring fewer parameters compared with the tensor train method.
Deep Learning for Unsupervised Insider Threat Detection in Structured Cybersecurity Data Streams
Tuor, Aaron, Kaplan, Samuel, Hutchinson, Brian, Nichols, Nicole, Robinson, Sean
Analysis of an organization's computer network activity is a key component of early detection and mitigation of insider threat, a growing concern for many organizations. Raw system logs are a prototypical example of streaming data that can quickly scale beyond the cognitive power of a human analyst. As a prospective filter for the human analyst, we present an online unsupervised deep learning approach to detect anomalous network activity from system logs in real time. Our models decompose anomaly scores into the contributions of individual user behavior features for increased interpretability to aid analysts reviewing potential cases of insider threat. Using the CERT Insider Threat Dataset v6.2 and threat detection recall as our performance metric, our novel deep and recurrent neural network models outperform Principal Component Analysis, Support Vector Machine and Isolation Forest based anomaly detection baselines. For our best model, the events labeled as insider threat activity in our dataset had an average anomaly score in the 95.53 percentile, demonstrating our approach's potential to greatly reduce analyst workloads.