Monday, June 27, 2016

Known Data Structures - Part 1

Winged Edge Data Structure



Winged Edge Data Structure  

The winged edge data structure is a data representation used to describe polygon models in computer graphics. It explicitly describes the geometry and topology of faces, edges, and vertices when three or more surfaces come together and meet at a common edge. The ordering is such that the surfaces are ordered counter-clockwise with respect to the innate orientation of the intersection edge. Moreover the representation allows numerically unstable situations like that depicted below.

The winged edge data structure allows for quick traversal between faces, edges, and vertices due to the explicitly linked structure of the network. This rich form of specifying an unstructured grid is in contrast to simpler specifications of polygon meshes such as a node and element list, or the implied connectivity of a regular grid. It has application in common modelling operations such as subdivision, extrusion etc.

Sunday, June 12, 2016

What is ES6?

ES6 :: What is ES6?

The Sixth Edition of ECMAScript (JavaScript/based on JavaScript), known as ES6 or ECMAScript 2015, adds significant new syntax for writing complex applications, including classes and modules. Other new features include iterators and for/of loops, Python-style generators and generator expressions, arrow functions, binary data, typed arrays, collections (maps, sets and weak maps), promises, number and math enhancements, reflection, and proxies (metaprogramming for virtual objects and wrappers). As the first “ECMAScript Harmony” specification, it is also known as “ES6 Harmony”.

Here’s a list of most important features added to ES6:

1. Default Parameters
2. Template Literals
3. Multi-line Strings
4. Destructuring Assignment
5. Enhanced Object Literals
6. Arrow Functions
7. Promises
8. Block-Scoped Constructs Let and Const
9. Classes
10. Modules

===============================================================
All rights reserved. Any unauthorized broadcasting, public performance, copying
or re-recording will constitute an infringement of copyright.


Saturday, June 11, 2016

H2O for big-data analysis

H2O for big-data analysis

H2O is open-source software for big-data analysis. It is produced by the start-up H2O.ai (formerly 0xdata), which launched in 2011 in Silicon Valley. The speed and flexibility of H2O allow users to fit hundreds or thousands of potential models as part of discovering patterns in data. With H2O, users can throw models at data to find usable information, allowing H2O to discover patterns. Using H2O, Cisco estimates each month 20 thousand models of its customers' propensities to buy [more info] [website: http://www.h2o.ai/].


Software Development Engineer at Amazon

Software Development Engineer at Amazon

As a talented software engineer, you know you’re in the driver’s seat. Practically every team at Amazon is desperate for good engineers. So are Google, Facebook, and legions of startups.

How do you choose? In our experience, three things pretty much determine job happiness: the people you work with, the problems you work on, and the technologies you play with.

Who you'll work with: you'll be joining a team of experienced, high-performing, senior engineers, lead by a Principal Engineer. You can expect a culture of ambitious but achievable technology development, built in short iterations with lots of experimentation. We set high standards for ourselves but believe no work day is complete without lots of laughter. We go home at a reasonable time and return refreshed and ready the next day. You'll be learning plenty from your future teammates, and we’re eager to learn from you as well.

The problems you'll work on: you build technological abstractions that empower analysts and business owners to solve problems on their own. You will imagine data sources and design features to enable automatic predictions for multiple distinct business problems. You will be applying cutting-edge machine learning to risk evaluation, helping to find gems in terabyte-size mountains of data. You’ll be evaluating third-party sellers on the Amazon marketplace to ensure they meet Amazon’s performance standards, to ensure they conform to Amazon’s policies and codes of conduct, and to protect Amazon’s buyers from those few sellers who try to take advantage. To do it, you'll be building software systems that solve hard challenges like text classification, graph clustering, and other open ended problems.

The technologies you'll play with:


  • Applied machine learning technologies. Includes binary classification model training and execution via supervised learning technologies (Random Forest, Vowpal Wabbit, et al); regression modelling, both parametric and non-parametric; etc.

  • Natural language processing (text classification et al)

  • Graph analytics (weighted traversal, clustering, coloring, etc)

  • Wrangling “Big Data” at a place where “big” really means “big.”

  • Distributed, highly-parallelized data processing engines

  • Highly available, high-transaction rate service oriented architecture

  • Workflow systems with completion guarantee semantics

  • Java, Python, R, SAS


This is a strong team with a truly exciting charter. If you had an idea what most of those technologies are without looking it up, or you looked it up and realize it’s what you’ve always wanted to do, we should chat!
  • Bachelors in Computer Science and 7 to 10 years software development experience or equivalent

  • At least 6 years experience designing high-performance, scalable architectures

  • At least 7 years of experience with writing production quality code in Java and C++

  • Open mind and active curiosity
  • Ability to take raw product requirements and create software architectures and designs to bring them to life.

  • Experience working closely with other developers to understand their needs and issues and to develop cooperative solutions.

  • Demonstrated ability to mentor other software developers to maintain architectural vision and software quality

  • Experience working in an Agile/Scrum environment?

  • Experience defining system architectures and exploring technical feasibility tradeoffs

  • Proficiency with the tools of the trade, including a variety of modern programming languages and familiarity with emerging open-source technologies

  • Exceptional skill in technical communication with peers and non-technical cohorts

  • Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations

  • Professional experience with distributed processing such as Amazon Elastic Map Reduce, Apache Hadoop, Apache Spark, et al

  • Experience with applied machine learning, NLP, and/or graph analysis technologies.

Vowpal Wabbit

Vowpal Wabbit

Vowpal Wabbit (also known as "VW") is an open source fast out-of-core learning system library and program developed originally at Yahoo! Research, and currently at Microsoft Research. It was started and is led by John Langford. Vowpal Wabbit is notable as an efficient scalable implementation of online machine learning and support for a number of machine learning reductions, importance weighting, and a selection of different loss functions and optimization algorithms [more info] [website].

[IMPORTANT] Software Engineer - Machine Learning & Artificial Intelligence

Software Engineer - Machine Learning & Artificial Intelligence

Rocket Fuel is a leading programmatic marketing platform that learns. Through artificial intelligence at big data scale, we optimize performance, awareness, and lift across channels for agencies and marketers. At over 1,000 employees strong, our bold and innovative team continues to reach new frontiers while fueling incredible success for our customers.


The machine learning team sits at the heart of our technology, and delivers on the core brand promise of bringing rocket science to make advertising more rational and effective.

What you will do:


Rocket Fuel’s technology platform supports a real-time bidding system that handles over 100 billion events every day (vs ~ 3 billion daily Google search queries), a reporting system that aggregates and analyzes terabytes of data in real-time, and a learning system that applies machine learning and artificial intelligence techniques to over 40 petabytes of data. These systems all work in harmony so that Rocket Fuel can serve the right advertisement to the right user at the right time.


The Artificial Intelligence and Machine Learning team’s work sits at the core of our technology as the key decision making agent for our systems. We research and develop the algorithms and models that make our software intelligent, as well as implementing, scaling, and maintaining the code that powers our production systems.

Some of the problems we work on include:

  • Click/Conversion Prediction : How do you use the rich data we have about users to make predictions? How do you handle conversion events that are really rare, such as purchasing a cruise? How do you deal with cold start problems?
  • Bidding Strategies : How do you translate a click or conversion score into a bid? What if it’s a first price auction, second price auction, or has a floor? How do you take into account pacing for hour of day, day of week, and special holidays like Thanksgiving and Christmas?
  • A/B Testing : When is a result significant? How do you weight across many different campaigns?
  • Fraud Detection : Many users of the web are not human, but rather bots, crawlers, or other pieces of software that is loading web pages. How do you detect these users and protect Rocket Fuel from showing ads to them?
  • Recommended Systems : Rocket Fuel dynamically tailors ads to each user, including the products shown. How do you decide which products to show in just a few milliseconds?



We work with some of the most cutting edge technologies to solve these problems, including Yarn/Hadoop (close to 2000 nodes), Spark, Hive, Hbase, and Storm. We program mostly in Scala, Java, and Python.


We are looking for talented, intellectually curious, and motivated individuals who are interested in tackling the problems above. We are hiring for all levels with compensation and role depending on experience.

SR. MACHINE LEARNING SCIENTIST at Microsoft

SR. MACHINE LEARNING SCIENTIST

Online Advertising is one of the fastest growing businesses on the Internet today, with about $70 billion of a $600 billion advertising market already online. Search engines, web publishers, major ad networks, and ad exchanges are now serving billions of ad impressions per day and generating terabytes of user events data every day. The rapid growth of online advertising has created enormous opportunities as well as technical challenges that demand computational intelligence. Computational Advertising has emerged as a new interdisciplinary field that involves information retrieval, machine learning, data mining, statistics, operations research, and micro-economics, to solve challenging problems that arise in online advertising. The central problem of computational advertising is to select an optimized slate of eligible ads for a user to maximize a total utility function that captures the expected revenue, user experience and return on investment for advertisers.

Microsoft is innovating rapidly in this space to grow its share of this market by providing the advertising industry with the state-of-the-art online advertising platform and service. Bing Ads Relevance and Revenue (RnR) team is at the core of this effort, responsible for research & development of all the algorithmic components in our advertising technology stack, including,

• User/query intent understanding, document/ad understanding, user targeting

• Relevance modeling, IR-based ad retrieval

• User response (click & conversion) prediction using large scale machine learning algorithms

• Marketplace mechanism design and optimization, and whole-page experience optimization

• Personalization

• Innovative new ads products

• Network protection, fraud detection, traffic quality measurement

• Advertising metrics and measurement, including relevance and ad campaign effectiveness

• Data mining and analytics

• Supply-demand forecasting

• Ad campaign planning and optimization

• Experimentation infrastructure including tools for configuring and launching experiments, dashboard, live marketplace monitoring, and diagnosis.


We heavily use the recent advances in grid or cloud computing infrastructure to harness huge volume of data for solving many of the above mentioned problems. We love big data!

The RnR team is a world-class R&D team of passionate and talented scientists and engineers who aspire to solve challenging problems and turn innovative ideas into high-quality products and services that can help hundreds of millions of users and advertisers, and directly impact our business. Our experimentation infrastructure allows us to innovate and test new algorithms rapidly with live traffic to measure their effectiveness, and launch them in production as soon as they produce positive results, which makes our work environment productive and rewarding.


The Ads Understanding and Selection team in Bing Ads is responsible for developing scalable analytics solutions and systems in the areas of automatic advertiser campaign generation, effective user targeting, personalized ads selection, ad content and format optimization. The team also works on a number of new initiatives to improve advertising campaign efficiency and advertiser on-boarding experience, as well as technologies underling novel marketing offerings to leverage the synergy between search and display advertising capabilities.


Roles & Responsibilities:

We are looking for a Sr. applied scientist with deep R&D background to conduct research and development on intelligent search advertising system to mine and learn actionable insights from large scale data and signals we collect from user queries and online activities, advertiser created campaigns and their performances, and myriad responses from the parties touched by the system in Bing ads paid search ecosystem. The person will play a key role to drive algorithmic and modeling improvement to the system, analyze performance and identify opportunities based on offline and online testing, develop and deliver robust and scalable solutions, make direct impact to both user and advertisers experience, and continually increase the revenue for Bing ads.


Skills & Qualificactions:

1. Outstanding expertise and research experience on statistical machine learning, data mining, information retrieval, optimization, Bayesian inference and MCMC.

2. Excellent problem solving and data analysis skills.

3. Passionate, self-motivated.

4. Effective communication skills, both verbal and written.

5. Strong software design and development skills/experience.

6. PhD degree in CS/EE or related areas is required.

7. Familiarity with distributed data processing/analysis and modeling paradigm, such as Map-Reduce and MPI, is preferred.

8. Experience in online advertising is a plus.

What Is SyntaxNet

SyntaxNet
What is SyntaxNet?

SyntaxNet is a computer program that can read and understand human language in order to process it in intelligent ways.


Announcing SyntaxNet: The World’s Most Accurate Parser Goes Open Source 

At Google, we spend a lot of time thinking about how computer systems can read and understand human language in order to process it in intelligent ways. Today, we are excited to share the fruits of our research with the broader community by releasing SyntaxNet, an open-source neural network framework implemented in TensorFlow that provides a foundation for Natural Language Understanding (NLU) systems. Our release includes all the code needed to train new SyntaxNet models on your own data, as well as Parsey McParseface, an English parser that we have trained for you and that you can use to analyze English text. Parsey McParseface is built on powerful machine learning algorithms that learn to analyze the linguistic structure of language, and that can explain the functional role of each word in a given sentence. Because Parsey McParseface is the most accurate such model in the world, we hope that it will be useful to developers and researchers interested in automatic extraction of information, translation, and other core applications of NLU [more info].

TensorFlow

TensorFlow

TensorFlow is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API. TensorFlow was originally developed by researchers and engineers working on the Google Brain Team within Google's Machine Intelligence research organization for the purposes of conducting machine learning and deep neural networks research, but the system is general enough to be applicable in a wide variety of other domains as well.Website: https://www.tensorflow.org/


Machine Learning Software Engineer

Machine Learning Software Engineer 
Solidus, Columbia, MD


Solidus is looking for a Software Engineer with 10 years+ experience in programming machine systems to develop applications to reduce the strain and peripheralworkload on the human analyst through the use of machine learning techniques which reduce the amount of data through which an analyst must sift. This may include collecting, correlating, analyzing, and triaging large amount of data on a constant basis.

REQUIREMENTS
- TS/SCI with FSP (optimum) or CI Poly
- Bachelor's degree in Computer Science or related discipline
- A minimum of 20 years' experienceas a software engineer in related programs

Experience in the following:
- 10 years of experience programming in multiple languages
- 5 years of experience developing and programming in multiple environments
- Sequential decision making- Reinforcement learning
- Single agent and multi-agent planning
- "Closed-loop" decision making systems that interact with the environment to obtain useful information
- Automated control systems and implementing mechanisms
- One or more of the following: game theory,control theory, operations research, information theory, simulation-based optimization, multi-agent systems, swarm intelligence,statistics, and genetic algorithms.




 


All About DeepMind

All About DeepMind


DeepMind has built a neural network that can access an external memory like a conventional Turing machine. The result is a computer that mimics the short-term memory of the human brain.

source: MIT Technology Review



At the RE.WORK Deep Learning Summit in London last month, three research scientists from Google DeepMind, Koray Kavukcuoglu, Alex Graves and Sander Dieleman took to the stage to discuss classifying deep neural networks, Neural Turing Machines, reinforcement learning and more.

Google DeepMind aims to combine the best techniques from machine learning and systems neuroscience to build powerful general‑purpose learning algorithms. Formerly DeepMind Technologies, Google acquired the company in 2014, and now uses DeepMind algorithms to make its best-known products and services smarter than they were previously. Google's acquisition (rumoured to have cost $400 million) of the company marked the a peak in interest in deep learning that has been building rapidly in recent years.

DeepMind’s area of expertise is reinforcement learning, which involves telling computers to learn about the world from extremely limited feedback. As deep learning expert Yoshua Bengio explains: “Imagine if I only told you what grades you got on a test, but didn’t tell you why, or what the answers were - it’s a difficult problem to know how you could do better.”

However DeepMind has created software that can do just that. They hit headlines when they created an algorithm capable of learning games like Space Invader, where the only instructions the algorithm was given was to maximize the score. Within 30 minutes it was the best Space Invader player in the world, and to date DeepMind's algorithms can able to outperform humans in 31 different video games. This algorithm has been described as the "first significant rung of the ladder" towards proving such a system can work, and a significant step towards use in real-world applications.

We caught up with Koray Kavukcuoglu and Alex Graves after their presentations at the Deep Learning Summit to hear more about their work at Google DeepMind.

Can you explain your recent work in the Deep QNetwork algorithm?

Koray: The research goal behind Deep Q Networks (DQN) is to achieve a general purpose learning agent that can be trained, from raw pixel data to actions and not only for a specific problem or domain, but for wide range of tasks and problems. In order to tackle such a challenge, DQN combines the effectiveness of deep learning models on raw data streams with algorithms from reinforcement learning to train an agent end-to-end. We have developed novel components into the DQN agent to be able to achieve stable training of deep neural networks on a continuous stream of pixel data under very noisy and sparse reward signal. And more recently we have developed a massively parallel version of the DQN algorithm using distributed training to achieve even higher performance in much shorter amount of time.

What are the main areas of application for this progress?

K: DQN is a general algorithm that can be applied to many real world tasks where rather than a classification a long term sequential decision making is required. It is a very scalable RL method and we are in the process of applying it on very exciting problems inside Google such as user interactions and recommendations. In general, DQN like algorithms open many interesting possibilities where models with memory and long term decision making are important.

Can you explain your recent work in the neural Turing machines?

Alex: The basic idea of the neural Turing machine (NTM) was to combine the fuzzy pattern matching capabilities of neural networks with the algorithmic power of programmable computers. A neural network controller is given read/write access to a memory matrix of floating point numbers, allow it to store and iteratively modify data. As Turing showed, this is sufficient to implement any computable program, as long as you have enough runtime and memory. The key innovation is that all the memory interactions are differentiable, making it possible to optimise the complete system using gradient descent. By learning how to manipulate their memory, Neural Turing Machines can infer algorithms from input and output examples alone. In other words they can learn how to program themselves.

What are the main areas of application for this progress?

A: There has been a recent surge in the application of recurrent neural networks — particularly Long Short-Term Memory — to large-scale sequence learning problems. In areas such as speech recognition, language modelling, handwriting recognition and machine translation recurrent networks are already state-of-the-art, and other domains look set to follow. Neural Turing machines may bring advantages to such areas, but they also open the door to problems that require large and persistent memory. One such example would be question answering.

What are the key factors that have enabled recent advancements in deep learning?

K: Perhaps the biggest factor has been the huge increase of computational power. This has made it possible to train much larger and deeper architectures, yielding dramatic improvements in performance. More is more when it comes to neural networks. Another catalyst has been the availability of large labelled datasets for tasks such as speech recognition and image classification. At the same time our understanding of how neural networks function has deepened, leading to advances in architectures (rectified linear units, long short-term memory, stochastic latent units), optimisation (rmsProp, Adam, AdaGrad), and regularisation (dropout, variational inference, network compression).

What sectors are most likely to be affected by deep learning?

A: All industries where there is a large amount of data and would benefit from recognising and predicting patterns could be improved by Deep Learning.

What advancements excite you most in the field?

K: One of the most exciting developments of the last few years has been the introduction of practical network-guided attention. Attention models are now routinely used for tasks as diverse as object recognition, natural language processing and memory selection. Other areas we particularly like are variational autoencoders (especially sequential variants such as DRAW), sequence-to-sequence learning with recurrent networks, neural art, recurrent networks with improved or augmented memory, and stochastic variational inference for network training.

What developments can we expect to see in deep learning research in the next 5 years?

K & A: A lot will happen in the next five years. We expect both unsupervised learning and reinforcement learning to become more prominent. We also expect an increase in multimodal learning, and a stronger focus on learning that persists beyond individual datasets.

The next Deep Learning Summit is taking place in San Francisco on 28-29 January, alongside the Virtual Assistant Summit. For more information and to register, please visit the event website here.

For further discussions on deep learning, machine intelligence and more, join our group on Linkedin.

This interview was originally posted on the RE.WORK Blog.


source: https://www.linkedin.com/pulse/deep-minds-interview-googles-alex-graves-koray-sophie-curtis



 At DeepMind, we conduct state-of-the-art research on a wide range of algorithms, from deep learning and reinforcement learning to systems neuroscience, towards the goal of building Artificial General Intelligence. A key factor in facilitating rapid progress is the software environment used for research. For nearly four years, the open source Torch7 machine learning library has served as our primary research platform, combining excellent flexibility with very fast runtime execution, enabling rapid prototyping. Our team has been proud to contribute to the open source project in capacities ranging from occasional bug fixes to being core maintainers of several crucial components.

 With Google’s recent open source release of TensorFlow, we initiated a project to test its suitability for our research environment. Over the last six months, we have re-implemented more than a dozen different projects in TensorFlow to develop a deeper understanding of its potential use cases and the tradeoffs for research. Today we are excited to announce that DeepMind will start using TensorFlow for all our future research. We believe that TensorFlow will enable us to execute our ambitious research goals at much larger scale and an even faster pace, providing us with a unique opportunity to further accelerate our research programme.

 As one of the core contributors of Torch7, I have had the pleasure of working closely with an excellent community of developers and researchers, and it has been amazing to see all the great work that has been built on top of the platform and the impact this has had on the field. Torch7 is currently being used by Facebook, Twitter, and many start-ups and academic labs as well as DeepMind, and I’m proud of the significant contribution it has made to a large community in both research and industry. Our transition to TensorFlow represents a new chapter, and I feel very excited about the prospect of DeepMind contributing heavily to another great open source machine learning platform that everyone can use to advance the state-of-the-art. 


source: https://research.googleblog.com/2016/04/deepmind-moves-to-tensorflow.html




Neural Turing Machine

Neural Turing Machine

from Wikipedia:

Neural turing machines combine the fuzzy pattern matching capabilities of neural networks with the algorithmic power of programmable computers. They are an extension of neural networks that are coupled to external memory resources, which they interact with through attentional mechanisms. Their memory interactions are differentiable end-to-end, making it possible to optimize them using gradient descent. They can infer simple algorithms such as copying, sorting, and associative recall from input and output examples. They can infer algorithms from input and output examples alone.

[continued ...]

Major 3D/Animation/Movie Software