Giter Club home page Giter Club logo

ai-platform's Issues

Anomaly Detection

Goal(s)

  • Identify unusual patterns (aka outliers) that do not conform to expected behavior

Input(s)

  • TBD

Output(s)

  • TBD

Objective Function(s)

  • TBD

Speaker Verification

Goal(s)

  • Verify the identity of a person from characteristics of the voice

Input(s)

  • Audio

Output(s)

  • Text

Objective Function(s)

  • TBD

Language Modelling

Goal(s)

  • Predict the next word or character in a document

Input(s)

  • Document

Output(s)

  • Document

Objective Function(s)

  • TBD

Few-Shot Learning

Goal(s)

  • Generalize from new tasks of limited supervised experience using prior knowledge

Input(s)

  • TBD

Output(s)

  • TBD

Objective Function(s)

  • TBD

Time Series Forecasting

Goal(s)

  • Predict future values based on previously observed values

Input(s)

  • Number

Output(s)

  • Number

Objective Function(s)

  • TBD

Text Generation

Goal(s)

  • Generate text which appears indistinguishable to human-written text

Input(s)

  • Parameters

Output(s)

  • Sentence

Objective Function(s)

  • TBD

Entity Extraction

Goal(s)

  • Choose the right extractor for each entity

Input(s)

  • Sentence

Output(s)

  • Category

Objective Function(s)

  • TBD

Related Tasks

  • See Intent Classification (Issue: #95)

AutoML

Goal(s)

  • Automate machine learning processes using neural network search, hyperparameter optimization, automated feature engineering

Inspiration

Image Classification

Goal(s)

  • Predict a single label (or a distribution over labels) for a given image

Input(s)

  • Image

Output(s)

  • Category

Objective Function(s)

  • TBD

Image Generation

Goal(s)

  • Generate a new image based on an existing category

Input(s)

  • Category

Output(s)

  • Image

Objective Function(s)

  • TBD

Recommendation Systems

Goal(s)

  • Produce a list of recommendations for a user

Input(s)

  • Any input

Output(s)

  • List

Objective Function(s)

  • TBD

Sentiment Analysis

Goal(s)

  • Classify the polarity of a given text

Input(s)

  • Text

Output(s)

  • Text

Objective Function(s)

  • TBD

Learning To Rank

Goal(s)

  • TBD

Input(s)

  • TBD

Output(s)

  • TBD

Objective Function(s)

  • TBD

Denoising

Goal(s)

  • Remove noise from an image

Input(s)

  • Image

Output(s)

  • Image

Objective Function(s)

  • TBD

Age Estimation

Goal(s)

  • Estimate the age of a person from an image or video

Input(s)

  • Image or video

Output(s)

  • Number

Objective Function(s)

  • TBD

Keyword Spotting

Goal(s)

  • Identify keywords in utterances

Input(s)

  • Audio

Output(s)

  • Text

Objective Function(s)

  • TBD

Audio Tagging

Goal(s)

  • TBD

Input(s)

  • TBD

Output(s)

  • TBD

Objective Function(s)

  • TBD

Audio Generation

Goal(s)

  • Generate raw audio such as speech

Input(s)

  • TBD

Output(s)

  • TBD

Objective Function(s)

  • TBD

Facial Expression Recognition

Goal(s)

  • Classify the expressions on face images into various categories such as anger, fear, surprise, sadness, happiness, etc.

Input(s)

  • Image or video

Output(s)

  • Category

Objective Function(s)

  • TBD

Face Detection

Goal(s)

  • Detect faces in a photo or video and distinguish them from other objects

Input(s)

  • Photo or video

Output(s)

  • Bounding box around faces

Objective Function(s)

  • TBD

Machine Translation

Goal(s)

  • Translate a sentence in a source language to a different target language

Input(s)

  • Sentence

Output(s)

  • Sentence

Objective Function(s)

  • TBD

Question Answering

Goal(s)

  • Answer a user's question by finding short text segments on the web or some other collection of documents

Input(s)

  • Sentence

Output(s)

  • Sentence

Objective Function(s)

  • TBD

Meta-Learning

Goal(s)

  • Develop a "learning to learn" machine learning algorithm

Input(s)

  • TBD

Output(s)

  • TBD

Objective Function(s)

  • TBD

Inspiration

Consider three approaches to developing meta-models:

  1. Transfer prior knowledge about what generally works well
  2. Reason about model performance across tasks
  3. Start from models trained earlier on similar tasks

Source: Learning to Learn (NeurIPS 2018)

Intent Classification

Goal(s)

  • Describe how user messages should be categorized

Input(s)

  • Sentence

Output(s)

  • Category

Objective Function(s)

  • TBD

Dataset Licenses

Dataset Licenses

Each dataset (public or private) must include a LICENSE file which identifies the usage and permission rights to the data.

Commercial Licenses

Examples of Commercial licenses include:

  1. Research and commercial
Research and commercial licenses available
  1. CC BY 3.0
Attribution 3.0 International (CC BY 3.0) -
--
  | You are free to:
  | Share - copy and redistribute,
  | Adapt - remix, transform, and build upon, even commercially,
  | Under the following terms:
  | Attribution - you must give appropriate credit.
  1. CC-0
CC-0 - No Copyright
  1. CC-BY-SA 3.0
Attribution-ShareAlike International -
--
  | You are free to:
  | Share - copy and redistribute,
  | Adapt - remix, transform, and build upon, even commercialy,
  | Under the following terms:
  | Attribution - you must give approprate credit,
  | ShareAlike - if you make changes, you must distribute your contributions.
  1. CC BY 4.0
Attribution 4.0 International (CC BY 4.0) -
--
  | You are free to:
  | Share - copy and redistribute,
  | Adapt - remix, transform, and build upon, even commercially,
  | Under the following terms:
  | Attribution - you must give appropriate credit.
  1. MIT
MIT - You are free to: use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the work. Under the following terms: the work is provided "as is", you must include copyright and the license in all copies or substantial uses of the work.
  1. GPL
GPL - You are free to: copy, distribute and modify the software as long as you track changes/dates in source files. Under the following terms: any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions.
  1. Non-commercial & commercial
Non-commercial and commercial licenses available
  1. CC BY-NC-SA 4.0 or commercial
Attribution-NonCommercial-ShareAlike 4.0 International - You are free to:
  | Share - copy and redistribute,
  | Adapt - remix, transform, and build upon, even commercially,
  | Under the following terms:
  | Attribution - you must give appropriate credit,
  | NonCommercial - you may not use the material for commercial purposes,
  | ShareAlike - if you make changes, you must distribute your contributions.

Non-Commercial Licenses

Examples of non-commercial licenses include:

  1. Non-commercial
Can only be used for research and educational purposes. Commercial use is prohibited.
  1. CC-BY-NC-SA 4.0
Attribution-NonCommercial-ShareAlike International -
--
  | You are free to:
  | Share - copy and redistribute,
  | Adapt - remix, transform, and build upon, even commercially,
  | Under the following terms:
  | Attribution - you must give appropriate credit,
  | NonCommercial - you may not use the material for commercial purposes,
  | ShareAlike - if you make changes, you must distribute your contributions.
  1. Various
The dataset contains data from several sources, check the links on the website for individual licenses
  1. Not Found
License information not found

Word Embeddings

Goal(s)

  • Map words or phrases from the vocabulary to vectors of real numbers

Input(s)

  • TBD

Output(s)

  • TBD

Objective Function(s)

  • TBD

Super Resolution

Goal(s)

  • Increase image resolution x2 or x4 while maintaining or even improving image quality

Input(s)

  • Image

Output(s)

  • Image

Objective Function(s)

  • TBD

Tasks Database

As we scale AI Platform, we created a database to track machine learning models and all model implementations differentiated by universally unique identifiers (UUIDs).

We will keep track of tasks, models and model UUIDs using SQLite. This dataset can be found on:

/tasks.db

We are open to suggestions on how to improve this system.

Speech Recognition

Goal(s)

  • Recognize speech within audio and convert it into text

Input(s)

  • Audio

Output(s)

  • Text

Objective Function(s)

  • TBD

Object Detection

Goal(s)

  • Detect instances of semantic objects in images and videos

Input(s)

  • Image or video

Output(s)

  • Bounding box and label

Objective Function(s)

  • TBD

Time Series Classification

Goal(s)

  • Classify the data points over the time based on its' behavior

Input(s)

  • Numbers

Output(s)

  • Category

Objective Function(s)

  • TBD

Managerial Components

Goal

  • Develop managerial components of delegation and communication between AI tasks

Inspiration

  • See MLflow multistep workflows (documentation or code examples) for how multiple machine learning models can communicate with each other

Speech Synthesis

Goal(s)

  • Generating speech from text

Input(s)

  • Audio

Output(s)

  • Text

Objective Function(s)

  • TBD

Use CNN to classify six signs 0 to 5.

Network which I will use:
CONV2D -> RELU -> MAXPOOL -> CONV2D -> RELU -> MAXPOOL -> FLATTEN -> FULLYCONNECTED.
I will implement this CNN and use SIGNS dataset representing numbers from 0 to 5. I will use Tensorflow for its implementation. And approximate accuracy which I will get will be around:
train accuracy : 93-99%
test accuracy : 78-99%

(I got a match on angelList and you asked me to do a coding assignment, so is implementing this model will be sufficient for me to clear coding round?)

Text Classification

Goal(s)

  • Assign a sentence or document an appropriate category

Input(s)

  • Sentence or document

Output(s)

  • Category

Objective Function(s)

  • TBD

Time Series Analysis

Goal(s)

  • Analyze time series data in order to extract meaningful statistics and other characteristics of the data

Input(s)

  • Number

Output(s)

  • TBD

Objective Function(s)

  • TBD

Graph Embedding

Goal(s)

  • Learn a mapping from a network to a vector space, while preserving relevant network properties

Input(s)

  • TBD

Output(s)

  • TBD

Objective Function(s)

  • TBD

Transfer Learning

Goal(s)

  • Transfer knowledge from a well-labeled domain to a similar but different domain with limited or no labels

Input(s)

  • Model weights trained on one task

Output(s)

  • Model weights trained on another task

Objective Function(s)

  • TBD

Scalability

Goals

As a developer, I want to figure out how to manage 100s or 1,000s of AI tasks, so that I can scale the ai-platform better.

As a developer, I want to experiment and create 10s or 100s of variations of each AI task, so that I can determine the most performant machine learning algorithm and method for solving each task.

Motivation

We currently store each AI task into a separate folder (see /tasks folder). This allows us to develop independent machine learning models and conduct experiments on each task using MLflow. The current folder structure also aligns with MLflow storage format. As the ai-platform repository grows in size, we need to better scale the management of independent AI tasks.

Possible Solutions

  1. Use distributed storage, such as: AWS S3, DBFS, or Google Drive, to minimize input (models or datasets) and output (models).

  2. Use submodules, such as: Git Submodules or Google Repo, to manage multi­-repository integrations in Git.

  3. Use virtual filesystems, such as: VFS for Git (developed by Microsoft) or Git LFS (developed by Atlassian), to enable git to operate at enterprise-scale. Microsoft wrote about it's motivations to to launch VFS for Git: here and here. Atlassian wrote a tutorial about Git LFS: here.

Additional Considerations

MLflow was designed to scale to large data sets, large output files (for example, models), and large numbers of experiments (MLflow Docs, 2019).

  1. An individual MLflow run can execute on a distributed cluster, for example, using Apache Spark. You can launch runs on the distributed infrastructure of your choice and report results to a Tracking Server to compare them. MLflow includes a built-in API to launch runs on Databricks.
  2. MLflow supports launching multiple runs in parallel with different parameters, for example, for hyperparameter tuning. You can simply use the Projects API to start multiple runs and the Tracking API to track them.
  3. MLflow Projects can take input from, and write output to, distributed storage systems such as AWS S3 and DBFS. MLflow can automatically download such files locally for projects that can only run on local files, or give the project a distributed storage URI if it supports that. This means that you can write projects that build large datasets, such as featurizing a 100 TB file.

Let's consider dataset sizes used for training machine learning models. Imagine ai-platform contains 100 models and each dataset is 100 GB (i.e. image dataset). Storing datasets on ai-platform will require 10 TB. If ai-platform contains 1,000 models, that translates to 100 TB.

Let's consider machine learning model sizes used to solve tasks. Imagine ai-platform contains 100 models and each model is 100 MB. Storing models on ai-platform will require 10 GB. If ai-platform contains 1,000 models, that translates to 100 GB.

Node Classification

Goal(s)

  • Determine the labelling of samples (represented as nodes) by looking at the labels of their neighbours

Input(s)

  • TBD

Output(s)

  • TBD

Objective Function(s)

  • TBD

Automation of Search and Discovery

Goal(s)

  • Develop automation for search and discovery of AI tasks, including algorithms, loss functions, and training methods
  • Guide developers in defining or selecting AI tasks
  • Provide feedback on AI-system behaviors

Possible Solution

  • Develop an intent classification (Issue #95) and entity extraction (Issue #96) models to understand user's goals
  • Develop a recommendation system (Issue #97) to suggest AI tasks
  • Develop a text generation (Issue #98) model to provide feedback to users

Semantic Segmentation

Goal(s)

  • Recognize and understand what is in an image at the pixel-level

Input(s)

  • Image

Output(s)

  • Image

Objective Function(s)

  • TBD

Gender Prediction

Goal(s)

  • Predict the gender of a person (male or female)

Input(s)

  • Image or video

Output(s)

  • Category

Objective Function(s)

  • TBD

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.