プロジェクト実習テーマX 東京工科大学 柴田...

20
プロジェクト実習テーマX 柴田 千尋 (in Rome now) 1

Transcript of プロジェクト実習テーマX 東京工科大学 柴田...

Page 1: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

プロジェクト実習テーマX

柴田千尋(in Rome now)

1

Page 2: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

プロジェクト実習Ⅹの内容

「機械学習」の様々な手法の使い方を習得しよう!

「深層学習」をつかってなにか面白いことができるプログラムを作成してみよう!

進め方:

– python の習得

– Pythonから機械学習をデータに適用する仕方を学ぶ。

– 深層学習のライブラリを応用する方法を学ぶ。

– 研究プロジェクト -> なんでも良い、深層学習を使う

画像でも、音楽でも、自然言語でも…

– 成果:

作成したプログラムをgithubで公開

or 可能なら、外部発表までできたらと思います。

教科書(参考書)

– 「ゼロから作るDeep Learning」など。

2

Page 3: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

プロ実Ⅹを通して身につくこと

• 次のような技術が身に付きます:

• Pythonプログラミングの技術

• 機械学習を使ったビッグデータ分析の技術

• データの収集とビッグデータ分析

• 先進的な人工知能(深層学習)の応用技術

• たとえば次のような道にすすめるようになります:

• AI系エンジニアや、ビッグデータ関連の職種

• データサイエンティスト,機械学習エンジニア,etc..

3

Page 4: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

「人工知能」や「機械学習」と聞いて思いつくこと

「人工知能」や「深層学習」というキーワードを聞いたとき、どのような考え(イメージ)が浮かびましたか?

–人間の知能を機械で再現する

–将棋で人間に勝てる

–囲碁でも人間に勝てる

–人間と会話(コミュニケーション)できる

–人工知能同士で会話(コミュニケーション)できる

–ビッグデータ(たくさんのデータをもとに学習させる)

–ドラえもんとか、感情まであるような人間のようなロボット

–ロボットとか機械が人間のような振る舞いをする

–ロボットやコンピュータが実際に成長する感じ

–ボードゲームのAI(リアルタイムでないもの)のイメージが強い

– google photo (画像認識サービス)

–人の手によって作られるが、知能は人間を超える可能性がある -> 限界が見えない

–人間の脳の構造をまねたニューラルネット、人間の脳をまねてつくる何か

– google 翻訳

– fiction の世界で暴走を始めるもの

–繰り返し学習させて、機械が考える最適な答えを出す。 4

Page 5: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

人工知能と機械学習 最近の「人工知能」の発展 => 「機械学習」が使われている。

機械学習 = データから機械に何かを覚えさせること。

認識(≒分類)、予測などをさせる。

すでに様々な分野で利用されている

画像認識 :

手書き文字認識、顔・表情認識、自動運転など

音声認識 :

話し言葉の認識など

自然言語処理 :

感情などの極性判定、リコマンデーション、自動翻訳など

ビッグデータの解析 :

ゲノムなどの生物や医学データの解析

5

Page 6: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

機械学習とは?与えられたサンプルデータから、分離平面や回帰曲線,事後確率などを計算する。

– 学習アルゴリズム = それらを表現するパラメータを決定する。

どのような

– 学習アルゴリズムがよいのか?

– パラメータがよいのか?

明確な答え => 予測精度や予測確率を最も大きくできるもの。

6

(教師あり)学習の例悪いリンゴ、良いリンゴ : データ(艶、重さ) -> 未知のリンゴを当てる

学習アルゴリズム = 分離平面を決めるパラメータ = 分離平面の勾配、切片

Page 7: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

「深層」学習って何?

大規模なニューラルネットワーク

人間の脳細胞の仕組みをまねたもの

特徴:

非常に多数のパラメータ数(1,000万超の重み)

深い階層(数十のレイヤー)

多数のニューロンのレイヤーを何段にも積み重ねる

Page 8: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

たたみ込みニューラルネット(CNN)

大規模なCNN(パラメータ数が約1300万)を用いることで人間を越える画像認識精度(エラー率5%未満)を達成 (Ioffe et. al, 2015)

行われた実験:ImageNetの1000カテゴリの画像を学習して分類

– ImageNet:WordNetの各同義語ごとに,約1000枚の画像のリンクを集めたデータ

– (WordNet : 数万個の言葉が同義語に分けられ,かつ階層化され,登録されている言語データ)

8鹿(Japanese deer) イルカ(dolphin)

http://imagenet.stanford.edu/synset

Page 9: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

ResNet (Residual Net)

どんどん層を増やしても大丈夫(152層で最大)

2015年のILSVRC (画像を1000カテゴリに分類するタスク) で1位

Image Net の top-5 エラーが 3.57%

人間より「賢い」

9

Page 10: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

Region-based(領域的)畳み込みニューラルネット(R-CNN)

オブジェクトの領域も認識

YOLO(you only look once)というアルゴリズム(数ヶ月前)

– 領域とカテゴリ(9000種類)を高い精度で出力

出典 : https://arxiv.org/abs/1612.08242

Page 11: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

深層強化学習: ゲームのAIなど

Deep Q Learning によるゲームの自動制御 :

–どう行動するかは,全て画像データからの逐次的な学習のみ(Deep Q Learning)で自動に学習.

–CNNを使う:画像処理に特化した技術(特徴量の抽出など)は不要.

11

出典: youtubeより転載

CNN

報酬(から計算される

行動価値)

を逆伝搬

Page 12: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

自然言語における深層学習seq2seq モデル:

翻訳や対話文生成に使われる

https://github.com/nicolas-ivanov/debug_seq2seq

重みの異なるLSTM (Encoderと Decoder)を2つ用意してつなげる :

• セルの状態ベクトル : CENC -> CDEC

• 出力ベクトル : yENC -> yDEC

Page 13: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

自動翻訳: seq2seq モデル

日英対訳データ(5万対)をseq2seqで学習させた結果の一例(右):

対訳データのみ:単語や文法の知識は与えていない。

文法をあまり間違えないだけでなく、あたかも文意を捉えているかのように見える訳も多い。

13

------------(1) he lived a hard life .正解: 彼はつらい人生を送った。翻訳: 彼は辛い人生を送った。------------(2) no . i 'm sorry , i 've got to go back early .正解: ごめんなさい。早く帰らなくちゃ。翻訳: 悪いから、もう帰ります。------------(3) she wrote to me to come at once .正解: 彼女は私にすぐ来いとの便りをよこした。翻訳: 彼女はすぐに私に来てと命じた。------------(4) i can 't swim at all .正解: 私は少しも泳げない。翻訳: 私は全然泳げない。------------(5) is there any hope of his success ?正解: 彼の成功の見込みはありますか。翻訳: 彼が成功する望みはありますか。------------

Page 14: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

画像と言語の学習: show, attend and tell

画像からの説明文の生成 :

• MS COCO や Flicker*K など, の説明文つき画像データ。• attention (注意) をCNNの出力に対して用いる。• 上記特徴ベクトルを加えて説明文をLSTMを学習。

http://kelvinxu.github.io/projects/capgen.html

Page 15: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

show, attend and tell

Xu, Kelvin et al. , Show, Attend and Tell: Neural Image Caption Generation with Visual Attention eprint arXiv:1502.03044 (2015)

Page 16: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

各分野における最近の研究の紹介がん細胞の診断:

• がん組織の細胞の顕微鏡写真から異常を発見:

https://news.developer.nvidia.com/diagnosing-cancer-with-deep-

learning-and-gpus/ より抜粋

16

アーティスティックスタイル :

• 絵画の「スタイル」を抽出し写真や動画を絵画のように変換:

https://news.developer.nvidia.com/diagnosing-cancer-with-deep-

learning-and-gpus/より抜粋

ドローン自動操縦 :

• 森の小道にそってドローンを自動的に操縦:

https://news.developer.nvidia.com/autonomous-search-and-rescue-

drones-outperform-humans-at-navigating-forest-trails/ より抜粋

Page 17: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

最近の研究の紹介(nvidiaのサイトより)

• ドローンの自動制御https://news.developer.nvidia.com/autonomous-search-and-rescue-drones-outperform-humans-at-navigating-forest-trails/

• 自動運転のための画像認識https://www.youtube.com/watch?v=KkpxA5rXjmA (27:11- 10分程度)

• 絵画からの動画合成https://news.developer.nvidia.com/deep-learning-helps-transfer-famous-artistic-styles-to-videos/

• 画像からの説明文生成http://go.nvidianews.com/ZFMlA0prE0005D035006NOv

17

Page 18: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

プロジェクト実習Ⅹの内容

「機械学習」の様々な手法の使い方を習得しよう!

「深層学習」をつかってなにか面白いことができるプログラムを作成してみよう!

進め方:

– python の習得

– Pythonから機械学習をデータに適用する仕方を学ぶ。

– 深層学習のライブラリを応用する方法を学ぶ。

– 研究プロジェクト -> なんでも良い、深層学習を使う

画像でも、音楽でも、自然言語でも…

– 成果:

作成したプログラムをgithubで公開

or 可能なら、外部発表までできたらと思います。

教科書(参考書)

– 「ゼロから作るDeep Learning」など。

18

Page 19: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

プロ実Ⅹを通して身につくこと

• 次のような技術が身に付きます:

• Pythonプログラミングの技術

• 機械学習を使ったビッグデータ分析の技術

• データの収集とビッグデータ分析

• 先進的な人工知能(深層学習)の応用技術

• たとえば次のような道にすすめるようになります:

• AI系エンジニアや、ビッグデータ関連の職種

• データサイエンティスト,機械学習エンジニア,etc..

19

Page 20: プロジェクト実習テーマX 東京工科大学 柴田 千尋•機械学習を使ったビッグデータ分析の技術 •データの収集とビッグデータ分析 •先進的な人工知能(深層学習)の応用技術

履修に興味がある方に:

このスライドと、説明のムービーが以下に置いてあります。

http://www.ai.cs.teu.ac.jp/prox.html