Goto

Collaborating Authors

 Education


A Comprehensive Guide to NLTK in Python: Volume 1

@machinelearnbot

The things that Mike taught are practical and can be applied in the real world immediately." This is the very FIRST course in a series of courses that will focus on NLTK. Natural Language ToolKit (NLTK) is a comprehensive Python library for natural language processing and text analytics. Note: This isn't a modeling building course. This course is laser focused on a very specific part of natural language processing called tokenization.


tensorflow/swift

@machinelearnbot

The core graph program extraction algorithm, automatic differentiation, and Python language interoperability features of Swift for TensorFlow can be implemented for other programming languages, and we are occasionally asked why we didn't use some other one for this project. The engineers on the project were previously familiar with Swift (and several other languages), but the choice was guided by the goals of our project, which imposed specific technical requirements (explained below). This choice was also discussed extensively, debated with coworkers and other interested engineers, and we concluded that Swift was the best direction. In this document we're sharing our deliberation process with the community to help explain our decisions. That said, while our choice of language was guided by our specific project goals, we would love to see wider application of these techniques and ideas in the context of other programming languages! If you are interested in pursuing a similar project, please reach out to us and we will happily share our expertise. As discussed in the design overview document our project goal is to improve usability of TensorFlow. We quickly realized that our core static analysis-based Graph Program Extraction algorithm would not work well for Python given its highly dynamic nature. This led us down the path of having to pick another language to work with, and we wanted to approach this methodically. As such, we defined goals for the project, explored which properties of a programming language are important to achieve those goals, and then evaluated a lot of languages against these properties. You already know the outcome--we eventually settled on Swift.


Deep Learning: GANs and Variational Autoencoders

@machinelearnbot

Variational autoencoders and GANs have been 2 of the most interesting developments in deep learning and machine learning recently. Yann LeCun, a deep learning pioneer, has said that the most important development in recent years has been adversarial training, referring to GANs. GAN stands for generative adversarial network, where 2 neural networks compete with each other. Unsupervised learning means we're not trying to map input data to targets, we're just trying to learn the structure of that input data. Once we've learned that structure, we can do some pretty cool things.


Data Science: Machine Learning algorithms in Matlab

@machinelearnbot

In recent years, we've seen a resurgence in AI, or artificial intelligence, and machine learning. Machine learning has led to some amazing results, like being able to analyze medical images and predict diseases on-par with human experts. Google's AlphaGo program was able to beat a world champion in the strategy game go using deep reinforcement learning. Machine learning is even being used to program self driving cars, which is going to change the automotive industry forever. Imagine a world with drastically reduced car accidents, simply by removing the element of human error.


China's facial recognition AI has a new target: Students

#artificialintelligence

China, in a bid to be the biggest big brother of them all, has expanded its already massive facial recognition AI system. What a great idea: Students at the Hangzhou No. 11 middle school are being monitored by a set of three AI-powered cameras that provide real-time emotional recognition and analysis. According to a report from Hangzhou.com, the system is quite robust: How much time do you have in one day? What are you doing when you are not focused? Which teachers' classes do students like most?



Autonomous discovery of the goal space to learn a parameterized skill

arXiv.org Artificial Intelligence

A parameterized skill is a mapping from multiple goals/task parameters to the policy parameters to accomplish them. Existing works in the literature show how a parameterized skill can be learned given a task space that defines all the possible achievable goals. In this work, we focus on tasks defined in terms of final states (goals), and we face on the challenge where the agent aims to autonomously acquire a parameterized skill to manipulate an initially unknown environment. In this case, the task space is not known a priori and the agent has to autonomously discover it. The agent may posit as a task space its whole sensory space (i.e. the space of all possible sensor readings) as the achievable goals will certainly be a subset of this space. However, the space of achievable goals may be a very tiny subspace in relation to the whole sensory space, thus directly using the sensor space as task space exposes the agent to the curse of dimensionality and makes existing autonomous skill acquisition algorithms inefficient. In this work we present an algorithm that actively discovers the manifold of the achievable goals within the sensor space. We validate the algorithm by employing it in multiple different simulated scenarios where the agent actions achieve different types of goals: moving a redundant arm, pushing an object, and changing the color of an object.


Nostalgic Adam: Weighing more of the past gradients when designing the adaptive learning rate

arXiv.org Machine Learning

First-order optimization methods have been playing a prominent role in deep learning. Algorithms such as RMSProp and Adam are rather popular in training deep neural networks on large datasets. Recently, Reddi et al. discovered a flaw in the proof of convergence of Adam, and the authors proposed an alternative algorithm, AMSGrad, which has guaranteed convergence under certain conditions. In this paper, we propose a new algorithm, called Nostalgic Adam (NosAdam), which places bigger weights on the past gradients than the recent gradients when designing the adaptive learning rate. This is a new observation made through mathematical analysis of the algorithm. We also show that the estimate of the second moment of the gradient in NosAdam vanishes slower than Adam, which may account for faster convergence of NosAdam. We analyze the convergence of NosAdam and discover a convergence rate that achieves the best known convergence rate $O(1/\sqrt{T})$ for general convex online learning problems. Empirically, we show that NosAdam outperforms AMSGrad and Adam in some common machine learning problems.


AI Can't Reason Why

#artificialintelligence

Put simply, today's machine-learning programs can't tell whether a crowing rooster makes the sun rise, or the other way around. Whatever volumes of data a machine analyzes, it cannot understand what a human gets intuitively. From the time we are infants, we organize our experiences into causes and effects. The questions "Why did this happen?" Suppose, for example, that a drugstore decides to entrust its pricing to a machine learning program that we'll call Charlie.


Introduction to Natural Language Processing Udemy

@machinelearnbot

We will be using the Anaconda distribution of Python throughout this course. Using the Anaconda Prompt (you can search for this program after Anaconda has installed), type conda install jupyter to install Jupyter. Jupyter is a notebook style interface for interactive coding. To launch Jupyter, open your Anaconda Prompt and type jupyter notebook. This will launch a new notebook instance in your internet browser.