.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

深層学習(deep learning)について纏める。

によるスパース・コーディング理論
基にしたアルゴリズムが実装されたもの。

特徴

  • 多層構造のニューラルネットワークに画像などのデータを入力すると、
    情報が第1層からより深くへ伝達されるうちに、各層で学習が繰り返される。
  • この過程で、画像や音声などのデータの
    研究者、技術者が手動で設定していた特徴量が自動で計算される。
    • この階層的な特徴量の学習が、機械学習と決定的に異なる点。
    • この技術は、画像認識や音声認識等の分野に活用される。

歴史

言語・ライブラリ

言語

Python

R言語

ライブラリ

NumPy

Matplotlib

フレームワーク

Caffe

Yangqing Jiaら当時Berkeleyのメンバーが中心に2013年頃
開発したオープンソースのディープラーニングフレームワーク

  • Convolutional Architecture for Fast Feature Embedding.
  • 前身はDeCAF (Deep Convolutional Activation Feature)

言語

Python, C++

特徴

  • コードを書かなくても設定ファイルだけで動かせる
  • 容易に拡張できるコード設計
  • PythonとMatlabからも使える
  • 高速(C++実装、GPUをシームレスに使い分け)
  • Githubの活発な開発コミュニティ
  • 画像認識向き
    • 画像分類
    • シーン認識
    • 物体検出
    • 領域分割

参考

TensorFlow?

  • Googleによって開発された。
  • 現在は、Googleのサービスの研究と生産に使用されており、
    クローズドソースのDistBelief?の役割をほぼ置き換えている‍

言語

Python, C++

特徴

人間が用いる学習や論理的思考と似たように、

パターンや相関を検出し解釈する
ニューラルネットワークを構築、訓練の要求を満たす。

参考

Chainer

  • 株式会社Preferred Networks(PFN)からリリース。
  • 2019年12月5日、PyTorchに順次移行すると発表。

言語

Python

特徴

特⻑:様々なNNを直感的に記述可能

  • NNの構築をPythonのプログラムとして記述
  • CuPy?によるCPU/GPU agnosticなコード記述
  • 動的なNN構築(Define-by-Run)

参考

Theano

言語

Python

特徴

Numpyのように計算手続きを記述するのではなく, 数式そのものを記述.

  • このことによって, 計算対象となる行列等の実体のプログラム内での
    引き回しを考える事なく, 最適化やGPUによる高速化の恩恵が受けられる.
  • また, 微分を (数値的ではなく) 解析的に実行する事が出来る.

参考

PyTorch?

  • Facebookの人工知能研究グループ(FAIR)により開発された。
  • 修正BSDライセンスで公開されている。
  • 様々なソフトウェアに利用されている。

言語

インターフェイス

  • Pythonインターフェイス
    洗練されており、活発に開発が行われている。
  • C++インターフェイス 存在する。

特徴

  • 強力なGPUサポートを備えた(NumPyのような)テンソル演算ができる
  • テープベースの自動微分システムの上に構築された深層ニューラルネットワークが利用できる。

参考

ファースト・ステップ

開発環境

インストール

Python

NumPy

Matplotlib

アルゴリズム

パーセプトロン

ニューラルネットワーク

参考

Wikipedia

One Learning Theory

  • 脳科学の世界には
    「One Learning Theory(たった一つの学習理論)」
    と呼ばれる仮説がある。
  • それは「視覚野」、「聴覚野」、「感覚野」など、大脳皮質の異なる領域が、
    実は同一の認知機構に従って動作している、とする仮説である。
  • これが正しければ、視覚野の認知機構に基づくスパース・コーディングは、
    単に画像認識のみならず、例えば聴覚(つまり音声認識)など他の分野にも応用できる。

スパース・コーディング

  • 入力の一部または全体を、辞書に含まれる要素の組み合わせで表現しようというもの。
  • スパースなデータ表現とは、
    • データを表現するための辞書を用意し、
    • その要素のできるだけ少ない組み合わせでデータを表現すること。

特徴量

  • 特徴量とは、
  • 問題の解決に必要な本質的な変数
  • 特定の概念を特徴づける変数

である。

  • この特徴量を発見できれば、
    • あらゆる問題の解決につながったり、
    • パターン認識精度の向上や、
    • フレーム問題の解決につながったりする

と期待されている。

ゼロから作るDeep Learning

https://www.oreilly.co.jp/books/9784873117584/

サンプル

https://github.com/oreilly-japan/deep-learning-from-scratch


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-05-01 (金) 13:12:18 (35d)