SlideShare ist ein Scribd-Unternehmen logo
1 von 284
AI入
門
2019年3月19日
株式会社KIS
二見 孝一
AI(人工知能)入門
< AIの概要をざっくりと理解する >
数式もコードも使わない AI入門セミナー
AI入
門
2/284
□ AIに興味はあるけどイマイチ理解してない
□ 業務が忙しくて勉強する時間が取れない
□ AIで使われる用語の意味がわからない
□ 数学がちょっと苦手
□ ざっくりとAIの概要を知りたい
▶ 今回は数式やプログラムコードを使わず、ざっくり
と
AIの概要を説明します
0.はじめに
こんな人のための内容です。
AI入
門
3/284
□ AIの全体像を把握できる
□ AIの概要が理解できる
□ AIの用語がわかる
□ 数学的な裏付けはともかく、考え方を理解で
きる
0.はじめに
こんな風になれます
ちゃんと活用するには数学的理解も必要ですが、
とにかく、AIの概要をざっくりとまと
めました。
AI入
門
4/284
□数学を使った人工知能のセミナーはこんな感
じ
↓今回はこんな感じのセミナーではありません。
数学が出てくる人工知能セミナーのスライド
例
0.はじめに
難しい内容ではありません。
今回はAIの概要について簡単にまとめた入門編です。
内容に誤りなどありましたら、ご指摘いただければうれしいで
す。(;^ω^)
AI入
門
5/284
□AIでは記述言語がそもそも数学です。(;^ω^)
・線形代数
・微分積分
・確率・統計 の知識を使います。
考え方の基になった数式を実際のプログラムコードに落とし込む。
という作業になります。
ただし、実際のコーディングでは、ライブラリ・関数群のおかげ
で数式を隠ぺいしたコーディングが可能となっています。
今回は数式を使わずに概念を理解することを目的としていますの
で、視覚的なグラフなど(次元を落としたものなど)を使用して
います。
0.はじめに
とはいうものの・・・・
AI入
門
6/284
0.はじめに
1.AIの歴史・現状
(1)人工知能 AI(Artificial Intelligence)の歴
史
(2) 現在のブームはディープラーニングが
牽引
(3) AI(人工知能)が人間を超えだした
(4) AI(人工知能)が日常生活に
(5) 経済: 平成時代は、日本の失われた30
年
(6) 経済: 企業の時価総額ランキング
(7) 経済: 日本の労働生産性は先進国最低
(8) AI領域: 日本は、中国・アメリカに完
敗
(9) AI領域: 中国の次世代人工知能発展計
画
(10) AIにより激変する社会
(11) AIがつくる未来
(12) AIがつくる未来: Googleの猫
(13) AIがつくる未来: 画像の自動生成
(14) AIがつくる未来: 小説を書く
(15) AIがつくる未来: 練習して歌う
(16) AIがつくる未来: 医療診断を行う
(17) AIがつくる未来: 店舗が無人に
(18) AIがつくる未来: 働くロボット
(19) AIがつくる未来: 自動運転
(20) AIがつくる未来: 人間と討論する
(21) AIがつくる未来: 農林水産業をサポー
ト
(22) AIがつくる未来: いいことばかり?
(23) AIがつくる未来: AI完全版は非公開に。
(24) AIがつくる未来: セキュリティーを破
る
(25) AIがつくる未来: フェイク動画
(26) AIがつくる未来: フェイク被害
(27) AIがつくる未来: 予測型取締り(アメ
リカ)
(28) AIがつくる未来: 天網(中国)
(29) AIは人類を滅ぼすか?
(30) AIの軍事利用が進んでいる
(31) テクノロジーは「使う側の哲学」が問
われる
目次
【目次1】
AI入
門
7/284
2.AIの区分
(1) AI(人工知能)の区分
(2) AI(人工知能)の種類
【参考】 群知能 (Swarm Intelligence, SI)
3.AIの全体像
(1) AIの全体像をレイヤーで理解する
(2) ハードウェア
(3) 機械学習ライブラリ(フレームワー
ク)
【参考】 OSSライセンス
(4) 人工知能プラットフォーム
(5) 人工知能アプリケーション(サービ
ス)
(6) ここ数年のAIの歩み
4.Python
(1) AIの開発言語はPythonが主流
(2) 開発環境を支える強力なライブラリ群
5.クラウドとエッジ
(1) クラウドでの処理
(2) クラウドとエッジコンピューティング
(3) エッジコンピューティング 2パター
ン
目次
【目次2】
AI入
門
8/284
6.機械学習(Machine learning)
(1) 機械学習とは
(2) 統計と機械学習の違い
(3) データの前処理が重要
(4) 「学習」と「判定・推論」の2フェー
ズ
(5) 運用で育てていく
(6) 学習(learning)について
(7) 判定・推論(inference)について
(8) 代表的な学習方法
(9) 教師あり学習(Supervised learning)
(10) 回帰(regression)
(11) 分類(classfication)
(12) 教師なし学習(Unsupervised learning)
(13) クラスタリング(clustering)
(14) レコメンデーション(r
ecommendation)
(15) 機械学習の手法いろいろ
(16) K近傍法(k-nearest neighbor)
(17) 決定木(Decision Tree)
(18) ランダムフォレスト(Random Forest)
(19) ナイーブベイズ(Naive Bayes)
【参考】ベイズ統計
(20) サポートベクターマシン(SVM)
(21) 強化学習( Reinforcement Learning)
(22) 強化学習( MDP: マルコフ決定過程)
(23) 強化学習( 各種アルゴリズム)
(24) 強化学習( Q学習:Q-learning)
(25) 強化学習( SARSA)
(26) 強化学習( モンテカルロ法)
目次
【目次3】
AI入
門
9/284
7.ニューラルネットワーク
(1) ニューラルネットワークとは
(2) 活性化関数いろいろ
(3) 活性化関数の特性をグラフで見る
(4) 活性化関数の使用イメージ
(5) 多層パーセプトロンへの拡張
(6) 順伝播法(Forward propagation)
(7) 誤差逆伝播法(Back propagation)
(8) 順伝播と誤差逆伝播
(9) 誤差逆伝播法(Back propagation)の理解
(10) 誤差逆伝播法: データの使い方
(11) 誤差逆伝播法: データの使い方
(ホールドアウト法)
(12) 誤差逆伝播法: データの使い方
(クロスバリデーション法)
(13) 誤差逆伝播法: データの使い方
(リーブワンアウト法)
(14) 誤差逆伝播法: 損失関数 回帰
(15) 誤差逆伝播法: 損失関数 分類
(16) 誤差逆伝播法: 損失関数の特性をグラ
フで
(17) 勾配降下法の考え方
(18) 勾配降下法
(19) 勾配降下法の課題
(20) 勾配降下法の最適化アルゴリズム
(21) バッチサイズ
目次
【目次4】
AI入
門
10/284
8.深層学習(Deep learning)
(1) 深層学習(Deep learning)とは
(2) 層を増やすと何がいいのか?
(3) 機械学習と深層学習の違い
(4) 注目されるきっかけ
(5) さまざまなニューラルネットワーク
(6) CNN: 畳み込みネットワーク
(7) CNN: 畳み込み層
(8) CNN: プーリング層
(9) CNN: 全結合層
(10) CNN: 画像の処理イメージ
(11) CNN: 設定するパラメータ
(12) CNN: 関連技術が次々に・・・
(13) CNN: YOLO(You Look Only Onse)
(14) CNN: Mask R-CNN などなど
(15) CNN: WaveNet(音声技術)
(16) CNN: Adversarial Example
(17) RNN: 再帰型ニューラルネットワーク
(18) RNN: 課題
(19) RNN: LSTM(Long Short-Term Memory)
(20) RNN: こんなことができる
(21) 生成モデル
(22) 生成モデル: オートエンコーダ
(23) 生成モデル: VAE
(24) 生成モデル: GAN
(25) 生成モデル: GAN (DCGAN)
(26) 生成モデル: GAN (SRGAN)
(27) 生成モデル: アップサンプリング
(28) 生成モデル: GAN さまざまな派生
(29) 転移学習とは
(30) 転移学習: ファインチューニングとド
メイン適応
(31) ディープラーニング(深層学習)の問題点
(32) 問題: 局所最適解へのトラップ
(33) 問題: 過学習(過剰適合) Overfitting
(34) 問題: 勾配消失
(35) 問題: 次元の呪い(球面集中現象)
(36) 問題: 学習時間増大
目次
【目次5】
AI入
門
11/284
8.深層学習(Deep learning)
(37) 問題解決へのアプローチ
(38) 対策: 最適化アルゴリズムの選択
(39) 対策: バッチサイズの適正化
(40) 対策: ハイパーパラメータ
(41) 対策: ハイパーパラメータの最適化
(42) 対策: 正則化(Regularization)
(43) 対策: 早期終了(Early stopping)
(44) 対策: ドロップアウト (Dropout)
(45) 対策: 活性化関数(Maxout)
(46) 対策: バッチ正規化
(47) 対策: 蒸留 (distillation)
(48) 対策: データ拡張(Data Augmentation)
(49) 対策: データの前処理
(50) 対策の結果
(51) 評価について: 正解率、再現率など
(52) 評価について: バイアスとバリアンス
(53) アンサンブル学習 ( Ensemble Learning)
(54) アンサンブル学習の手法
(55) アンサンブル学習の例
(56) 深層強化学習: AIでもっともHotな領域
(57) 深層強化学習: 強化学習のおさらい
(58) 深層強化学習: 各種アルゴリズム
(59) 深層強化学習: 性能比較
(60) 深層強化学習: 年表
(61) 深層強化学習: 応用例
(62) 深層強化学習: 人間を超える能力
目次
【目次6】
AI入
門
12/284
9.最後のまとめ
(1) AIの領域は深く・広い
(2) AIのコモディティー化(一般化)が進
む
(3) AIがAIの学習を自動化する
(4) これからの世界
(5) これからの日本
(6) これからの日本: 人手不足到来
(7) これからの日本: 人が余るかも
(8) AIがつくる未来は?
参考文献/出典 書籍
参考文献/出典 Webサイト
目次
【目次7】
AI入
門
13/284
1.AIの歴史・現状
第3次AIブーム
(1) 人工知能 AI(Artificial Intelligence)の歴
史
過去にも盛り上がった。現在は第3次ブーム
AI入
門
14/284
1.AIの歴史・現状
(2) 現在のブームはディープラーニングが
牽引
AI入
門
15/284
1.AIの歴史・現状
(3) AI(人工知能)が人間を超えだした
◇クイズ番組でAIが優勝し、賞金100万ドル獲
得
◇チェスの世界チャンピオンに勝利
◇将棋ソフトが永世聖将に勝利
◇囲碁の世界チャンピオンに勝利
AIはさらに進化中
名人を破ったAlphaGo
にも100戦100勝のAIが
出ている
(深層強化学習を使った
AlphaGo Zero)
AI入
門
16/284
1.AIの歴史・現状
(4) AI(人工知能)が日常生活に
◇iPhoneのSiri
◇LINEbot女子高生AI りんな
◇GoogleのWebサイト翻訳
◇AI ホームスピーカー
AI入
門
17/284
1.AIの歴史・現状
(5) 経済: 平成時代は、日本の失われた30年
◇世界は経済成長しているが、、、、
AI入
門
18/284
1.AIの歴史・現状
(6) 経済: 企業の時価総額ランキング
平成元年: 世界トップ50社に32社がランクイン
平成30年: トヨタ1社のみ
世界では時価総額が30年で10倍に。日本は・・・・
元年
30年
AI入
門
19/284
1.AIの歴史・現状
(7) 経済: 日本の労働生産性は先進国最
低
日本の時間あたり労働生産性を100とすると
アメリカ:151、ドイツ148、フランス145、イタリア
118
怠け者イメージのあるイ
タリアやスペインより生
産性が悪い
AI入
門
20/284
1.AIの歴史・現状
(8) AI領域: 日本は、中国・アメリカに完
敗 1
◇論文数も予算も人材数も数分の一
AI入
門
21/284
1.AIの歴史・現状
(8) AI領域: 日本は、中国・アメリカに完
敗 2
30ほど海外大学を図から割愛
AI入
門
22/284
1.AIの歴史・現状
(8) AI領域: 日本は、中国・アメリカに完
敗 3
AI入
門
23/284
1.AIの歴史・現状
(9) AI領域: 中国の「次世代人工知能発展計画」
◇世界トップを目指す、中国の国家計画(2017年策
定)
AI入
門
24/284
1.AIの歴史・現状
(10) AIにより激変する社会 1
◇ 金融大手ゴールドマンサックス
AIリストラで500人のトレーダーが3人に激減
エンジニアは9000人を雇用
◇ 配車サービスのUber台頭
アメリカ最大手のタクシー会社Yellow Cabが倒産
運転手はNYだけで8万人。市当局が参入規制も。
◇ AIに奪われる仕事 オックスフォード大学 マイケル・A・オズボーン准教授
アメリカでは、今後~20年の間に総雇用者の
半分の仕事が自動化されるリスクが高い
AI入
門
25/284
1.AIの歴史・現状
(10) AIにより激変する社会 2
◇ AIに奪われる仕事 オックスフォード大学 マイケル・A・オズボーン准教授
AI入
門
26/284
1.AIの歴史・現状
(11) AIがつくる未来
◇AIが人間を模倣し、それをやがて超えていく時代が
到来
いま、AIで何ができるようになっている
のか?
いくつかの事例を紹介します。
AI入
門
27/284
1.AIの歴史・現状
(12) AIがつくる未来: Googleの猫
◇ 有名な2012年のGoogleによる「猫」の認識
「人が教えず、AIが自発的に猫を認識した」大事
件
AI入
門
28/284
1.AIの歴史・現状
(13) AIがつくる未来: 画像の自動生成
◇ AIが生成した犬の写真。どれか見分けがつきます
か?
AI入
門
29/284
1.AIの歴史・現状
(14) AIがつくる未来: 小説を書く
◇ 人工知能が書いた小説が一次審査を通過
AI入
門
30/284
1.AIの歴史・現状
(15) AIがつくる未来: 練習して歌う
◇ 女子高生AI りんな が歌を自動学習
AI入
門
31/284
1.AIの歴史・現状
(16) AIがつくる未来: 医療診断を行う
◇ AIが人間をしのぐ診断能力を持ってきた
AI入
門
32/284
1.AIの歴史・現状
(17) AIがつくる未来: 店舗が無人に
◇ Amazon Go、モノタロウAIストア、JR無人店舗
AI入
門
33/284
1.AIの歴史・現状
(18) AIがつくる未来: 働くロボット
◇ ボストンダイナミクスのロボット犬が東京の工事現場で仕事
AI入
門
34/284
1.AIの歴史・現状
(19) AIがつくる未来: 自動運転
◇ Google、Uber、テスラ、トヨタなど全自動車メー
カーが
参入し、実用化は目前
(すでに技術はあるが、法整備が追い付いていない)
AI入
門
35/284
1.AIの歴史・現状
(20) AIがつくる未来: 人間と討論する
◇ IBMが人間とAIのガチ討論会(ディベート)を開催
テーマは「保育園や幼稚園に補助予算を出すべきか?」
討論判定では人間が勝利したが、知識量アンケートでは7割
が
AIを支持した
AI
人間
AI入
門
36/284
• 京東の「AI植物工場」ではAIが栽培環境を管理し、
農薬を使わずに従来の方法より収穫量が数十倍も
多い。逆に水は90%以上削減。
• テンセントAIラボは「Autonomous Greenhouse Challenge(AI
技術だけで作物を栽培するコンテスト)」でAI戦略部門
1位。
• 4カ月で61平方メートルの面積の温室で約3500kgの
キュウリを育てたが、これは人で栽培する収量の
5倍
1.AIの歴史・現状
(21) AIがつくる未来: 農林水産業をサポー
ト
◇ AIで農林水産業が飛躍的に効率化される
【中国での活用例】
AI入
門
37/284
1.AIの歴史・現状
(22) AIがつくる未来: いいことばかり?
◇ ユートピア? それともディス
トピア?
AI入
門
38/284
なぜ?
Amazonなどにコメントを自動投稿したり、EC
サイトなどで製品レビューをフェイクコメン
トするなど、AIが悪用される恐れがある。
1.AIの歴史・現状
(23) AIがつくる未来: AI完全版は非公開に。
◇ OpenAI:
高精度のAIテキストジェネレータを開発し
たが、
完全版は非公開とすることに決定。
AI入
門
39/284
1.AIの歴史・現状
(24) AIがつくる未来: セキュリティーを破
る
◇ Webサービスなどで、ゆがんだ画像から文字を読み
取って入力を促すのが「CAPTCHA」
テキストベースのCAPTCHAなら、AIが0.05秒で突
破
サイトによっては90%以上が突破されるというテスト結果に
AI入
門
40/284
1.AIの歴史・現状
(25) AIがつくる未来: フェイク動画
◇ トランプ氏を非難するオバマ元大統領のフェイク
動画
音声も動画もAIが生成した偽物
AI入
門
41/284
1.AIの歴史・現状
(26) AIがつくる未来: フェイク被害
◇ 有名女優のAIがアダルト動画に出演
ハリーポッター・ハーマイオニー役 エマ・ワトソンの偽動画も出回
る
AI入
門
42/284
1.AIの歴史・現状
(27) AIがつくる未来: 予測型取締り(アメ
リカ)
アメリカの警察が使っている予測型取締まりシステム
の多くが、差別による不当逮捕などを含む過去のデー
タを用いて訓練されていることが明らかになった。
中には意図的なデータの改ざんや操作も見られ、差別
を継続させるだけでなく、それに基づく新たなデータ
を生み出す悪循環になる可能性が指摘されている。
AI入
門
43/284
1.AIの歴史・現状
(28) AIがつくる未来: 天網(中国)
多数の監視カメラが設置され、13億人の中から1人を
特定するのに約3秒。7分で身分と居場所が特定され
る。
交通違反などもカメラで自動検出
◇ 天網(スカイネット)
◇ 金盾(グレートファイアウォール)
◇ 信用中国(クレジット・チャイナ)
社会的信用点数が低いと、鉄道や航空機に乗れない。
AI入
門
44/284
1.AIの歴史・現状
(29) AIは人類を滅ぼすか?
◇ ホーキンス博士、マスク氏などはAIへの警鐘を鳴ら
す。
◇ 「2001年宇宙の旅」HAL9000のようなことが起こ
る?
・マイクロソフトのTayが差別発言を繰り返し運
用停止に
・中国テンセントのチャットAIが共産党批判で運
用停止に
・フェイスブックのAI同士(ボブとアリス)の会
話が、人間
には理解不能となり対話実験中止に
AI入
門
45/284
1.AIの歴史・現状
(30) AIの軍事利用が進んでいる
◇ 核兵器ではなくAIが究極の武器になりつつある
・戦闘機の自動操縦システムは人間に勝利
・完全無人の自動操縦兵器が戦場で人と戦う
・世界各国で最先端のAI研究は軍事部門
すでに実戦で使われている
無人機「プレデター」
AI入
門
46/284
1.AIの歴史・現状
(31) テクノロジーは「使う側の哲学」が問わ
れる
Google CEO スンダー・ピチャイ氏
「武器用のAIは開発しない」と宣言
テスラのCEO イーロン・マスク氏
「AIは悪魔を呼ぶ技術」として利用規制を提案
いくつかの日本の大学(広島大学など)
「軍事研究公募には参加しない」という方針
【ノーベル賞】
ダイナマイトを発明したノーベルは、自分が死
亡したという新聞記事(誤報)に「死の商人死
す」と書かれたことにショックを受けた。
そこで、遺産を「人類のために最大たる貢献を
した人々に分配されるものとする」と遺言した。
AI入
門
47/284
2.AIの区分
(1) AI(人工知能)の区分
人工知能 AI(Artificial Intelligence)
機械学習 ML(Machine Learning)
ニューラルネットワーク(Neural Network)
深層学習 DL(Deep Learning)
AI入
門
48/284
2.AIの区分
人工知能 AI(Artificial Intelligence)
AI
強いAI (感情を持つ) アトムやドラえもん
弱いAI
特化型AI(AGI) ★いまはここが中心
汎用型AI(GAI)
AI入
門
49/284
2.AIの区分
人工知能 AI(Artificial Intelligence)
機械学習 ML(Machine Learning)
深層学習 DL(Deep Learning)
AI
強いAI (感情を持つ)
弱いAI
特化型AI(AGI)
汎用型AI(GAI)
ML
教師あり学習
回帰(Regression)
分類(Classification)
異常検出(Anomaly detection)
教師なし学習 クラスタリング、分布推定
強化学習
DL
生成モデル
CNN(Convolutional Neural Network)
RNN(Recurrent Neural Network)
AI入
門
50/284
2.AIの区分
(2) AI(人工知能)の種類
種 類 概 要
機械学習
コンピュータ上のアルゴリズムが学習し、判断
を行う。
遺伝的アルゴリズム
生物の遺伝子を模倣する。コンピュータ上の遺
伝子で突然変異や交配を行う。
群知能
生物の群れを模倣する。シンプルなルールに
従って行動する個体の集合体が、集団として高
度に振る舞う。
ファジイ制御
あいまいさを許容したファジイ集合を利用し、
人の経験則に近い制御を行う。家電等に利用。
エキスパートシステ
ム
人間の専門家の判断能力を模倣する。知識に基
づく推論・アドバイスが可能。
AI入
門
51/284
分権化し自己組織化されたシステムの集合的ふるまい
に基づいた人工知能技術
多数のエージェントを用意してそれぞれが各々相互作
用を起こしながら最適解を探し出すが、中央管理する
わけではなく、それぞれが自発的に行動し、結果的に
全体としての創発(emergence)をもたらす
アリの巣、鳥・動物・魚の群れ、細菌のコロニーの模
倣など、アルゴリズムは自然界からヒントを得たもの
が多い
2.AIの区分
【参考】 群知能 (Swarm Intelligence, SI)
1
AI入
門
52/284
2.AIの区分
【参考】 群知能 (Swarm Intelligence, SI)
2
【アルゴリズム】
利他的アルゴリズム、蟻コロニー最適化、人工蜂コロニーアル
ゴリズム、人工免疫システム、荷電系探索、カッコウ探索、ホ
タルのアルゴリズム、重力探索アルゴリズム、Intelligent Water
Drops、マルチスウォーム最適化、粒子群最適化、河川形成力学。
自己駆動粒子群。確率的拡散探索 など
群知能によるドローンの群
制御
AI入
門
53/284
3.AIの全体像
(1) AIの全体像をレイヤーで理解する
▲
上
位
下
位
▼
AI入
門
54/284
3.AIの全体像
(2) ハードウェア 1
▲
上
位
下
位
▼
AI入
門
55/284
◇CPUより並列処理に優れるGPU,TPUが使われ
る
例: 10層・10億個パラメータのニューラルネットワークの場
合、
CPUだと約1年。GPUだと一ヶ月で完了
なので、学習時は時短のため複数のGPUを並列計算さ
せる
◇クラウド側のGPUも使える
学習・研究用のGoogle Colaboratoryはなんと無料
◇ FPGA( Field Programmable Gate Array )
3.AIの全体像
(2) ハードウェア 2
AI入
門
56/284
3.AIの全体像
(2) ハードウェア 3
AI入
門
57/284
3.AIの全体像
(3) 機械学習ライブラリ(フレームワー
ク) 1
▲
上
位
下
位
▼
AI入
門
58/284
3.AIの全体像
(3) 機械学習ライブラリ(フレームワー
ク) 2
AI入
門
59/284
・GAFAや大学などがOSSでAIライブラリを提供し
ている
各企業はそれらのフレームワークを利用してAIシステムを開
発可能
3.AIの全体像
(3) 機械学習ライブラリ(フレームワー
ク) 3
ライブラリ 開発・サポート
ライセン
ス 概要
TensorFlow Google Apache
データフローグラフを使用したライ
ブラリ
Cognitive toolkit MicroSoft MIT CNTKから名称変更
MXNet Amazon Apache 大学で開発されていたものを支援
PaddlePaddle 百度(Baidu) Apache 中国製のAIフレームワーク
Pytorch Facebook BSD Dedine by Runのライブラリ
Keras Google MIT TensorFlowのラッパー
Chainer Preferred Networks MIT
日本製のAIライブラリでDedine by
Run
DL4J skymind Apache JavaのAIライブラリ
AI入
門
60/284
3.AIの全体像
(3) 機械学習ライブラリ(フレームワー
ク) 4
AI入
門
61/284
類型
複製・
再頒布
可能
改変可能
改変部分の
ソース公開義務
他のコードと組
み合わせた場合
他のコードの
ソース公開義務
コピーレフト型 ○ ○ ○ ○
準コピーレフト型 ○ ○ ○ ×
非コピーレフト型 ○ ○ × ×
3.AIの全体像
【参考】 OSSライセンス
ライブラリフレームワークの多くは非コピー
レフト型
ApatchやBSD、MITライセンスとなっている
厳しい◀ GPL > LGPL > Apatch > BSD > MIT
▶緩い
AI入
門
62/284
3.AIの全体像
(4) 人工知能プラットフォーム 1
▲
上
位
下
位
▼
AI入
門
63/284
◇クラウドベースでの有料プラットフォーム
◇各社から多様なサービスが提供されている
画像認識、画像生成、動画分析、音声認識、音声生成、機
械翻訳、
自然言語処理(認識)、自然言語処理(生成) など
例: IBMのWatson、MicroSoftのCognitive Services
◇日本企業はこの領域でも苦戦中
3.AIの全体像
(4) 人工知能プラットフォーム 2
AI入
門
64/284
3.AIの全体像
(4) 人工知能プラットフォーム 3
◇アメリカAI企業の事業領域マッピング
AI入
門
65/284
3.AIの全体像
(5) 人工知能アプリケーション(サービ
ス) 1
▲
上
位
下
位
▼
AI入
門
66/284
◇各企業が開発した様々なサービスを提供してい
る
◇日本企業は世界から周回遅れだが、やっと様々
な
サービスがリリースされるようになってきた
◇これまで関係が薄かった業界や企業がコラボし
て
新しいサービスを提供しているのが特徴
◇従来のビジネスモデルを破壊するような、特色
ある
3.AIの全体像
(5) 人工知能アプリケーション(サービ
ス) 2
AI入
門
67/284
3.AIの全体像
(6) ここ数年のAIの歩み① 2012~2014
AI入
門
68/284
3.AIの全体像
(6) ここ数年のAIの歩み② 2015~2016
AI入
門
69/284
3.AIの全体像
(6) ここ数年のAIの歩み③ 2017~2018
AI入
門
70/284
4.Python
(1) AIの開発言語はPythonが主流(人気言語
No1)
シンプルで読みやすい文法
強力な内省(イントロスペクション)機能
直感的なオブジェクト指向
手続き型のコードによる、自然な表現
パッケージの階層化もサポートした、完全なモジュール化サポート
例外ベースのエラーハンドリング
高レベルな動的データ型
広範囲に及ぶ標準ライブラリとサードパーティのモジュール
拡張とモジュールはC/C++で書くのが容易(Java、.NETも利用可)
アプリケーションに組み込んでスクリプトインタフェースとして使え
る
AI入
門
71/284
4.Python
(2) 開発環境を支える強力なライブラリ群
1
ライブラリ 主な用途
NumPy 数値計算用で高速に行列やベクトル演算を行う
Pandas データの読込みや欠損値処理など機械学習にも使う
SciPy 科学計算用ライブラリ
Jupyter Python の実行環境でコードと出力結果を記録可能
Matplotlib 棒グラフ、散布図、ヒストグラムなどをグラフ描画する
plotly リッチでインタラクティブなグラフを描画する
wxPython クロスプラットフォームのGUIライブラリ
Kafka-Python Apache Kafka(分散ストリーミングプラットフォーム) のクライ
アント
PySpark ビッグデータ処理用に使う
AI入
門
72/284
4.Python
(2) 開発環境を支える強力なライブラリ群
2
ライブラリ 主な用途
TensorFlow Googleによるディープラーニング用ライブラリ
scikit-learn 機械学習用訓練/検証データの分割や交差検証等が利用
可
Theano 多次元配列を最適化して使用できる機械学習ライブラリ
Chainer 動的に計算グラフを構築可能な日本製の深層学習ライブ
ラリ
Pytorch chainerからforkして作られたライブラリ
Pyevolve Pure Python文法で記述できて遺伝的アルゴリズムで利用
Deap 拡張性が高くデータ構造からアルゴリズムまでカスタマ
イズ可
Stan MCMCサンプラーでRからも使える。PyStanはラッパー
Edward Tensorflowに基づいた確率的プログラミングライブラリ
AI入
門
73/284
4.Python
(2) 開発環境を支える強力なライブラリ群
3
ライブラリ 主な用途
Requests Web API用でHTTP実装時のコードをシンプルに書ける
Twython Twitter APIをより使いやすくするラッパー
Django 全部乗せのWeb開発系フレームワーク
kivy スマホやマルチタッチ対応のクロスプラットフォームUI
ライブラリ
cocos2d ゲームライブラリ
lxml xmlやhtmlをパースしたりスクレイプに使用する
Selenium lxmlと組み合わせてスクレイプに使用
Scrapy スクレイピングフレームワーク
simplejson JSONのエンコード・デコードライブラリ
Py2exe スクリプトをWindows用の.exeへ変換するライブラリ
pep8 Pep8のコーディング規約に応じたソースコードチェック
pdb ブレークポイント、シングルステップ実行等のデバッガ
AI入
門
74/284
4.Python
(2) 開発環境を支える強力なライブラリ群
4
各ライブラリについては書籍などを参考に
AI入
門
75/284
5.クラウドとエッジ
(1) クラウドでの処理
AI入
門
76/284
◇データ処理増大に伴い、すべてをクラウド側で
処理するのに不都合が出てきた。
・通信料やクラウド利用料が増大する
・インターネット経由で処理速度が遅くなる
・セキュリティー的にデータをクラウドに上げたくない
・ネット環境が不安定だと処理が止まる
▶これからはエッジコンピューティングが使わ
れる
(フォグコンピューティングと呼ばれることも
ある)
5.クラウドとエッジ
(2) クラウドとエッジコンピューティング
AI入
門
77/284
5.クラウドとエッジ
(3) エッジコンピューティング 2パター
ン
パターン1: 機械学習はクラウドで行い、学習済みモデルをエッジで
処理する。
パターン2: 機械学習もエッジで行い、クラウドは分析に利用する。
AI入
門
78/284
6.機械学習(Machine
learning)
機械学習(Machine learning)
人工知能 AI(Artificial Intelligence)
機械学習 ML(Machine Learning)
ニューラルネットワーク(Neural Network)
深層学習 DL(Deep Learning)
AI入
門
79/284
6.機械学習(Machine
learning)
人工知能 AI(Artificial Intelligence)
機械学習 ML(Machine Learning)
深層学習 DL(Deep Learning)
AI
強いAI (感情を持つ)
弱いAI
特化型AI(AGI)
汎用型AI(GAI)
ML
教師あり学習
回帰(Regression)
分類(Classification)
異常検出(Anomaly detection)
教師なし学習 クラスタリング、分布推定
強化学習
DL
生成モデル
CNN(Convolutional Neural Network)
RNN(Recurrent Neural Network)
AI入
門
80/284
データから反復的に学習し、そこに潜むパターンを
見つけ出し、学習結果を新たなデータに適用し予測
すること
機械学習:
大量のデータを分析し、今後を予測するのが目的
統計:
データがどのようなものであるのか説明するのが
目的
6.機械学習(Machine
learning)
(1) 機械学習とは
統計との違い
AI入
門
81/284
6.機械学習(Machine
learning)
(2) 統計と機械学習の違い 1
AI入
門
82/284
6.機械学習(Machine
learning)
(2) 統計と機械学習の違い 2
AI入
門
83/284
6.機械学習(Machine
learning)
(3) データの前処理が重要
◇「ゴミを入れればゴミしか出てこない」
データ分析作業の労力の7-8割がデータの前処理と言わ
れている
AI入
門
84/284
◇1.学習: 訓練データで学習モデルを作成する
◇2.判定: 学習済みのモデルを使って未知のデータを推
定する
6.機械学習(Machine
learning)
(4) 「学習」と「判定・推論」の2フェー
ズ 1
1.学習
2.判定
AI入
門
85/284
6.機械学習(Machine
learning)
(4) 「学習」と「判定・推論」の2フェー
ズ 2
◇1.学習: 訓練データで学習モデルを作成する
◇2.判定: 学習済みのモデルを使って未知のデータを推
定する
AI入
門
86/284
6.機械学習(Machine
learning)
(5) 運用で育てていく
◇データの変化に合わせて再学習が必要
AI入
門
87/284
◇訓練データを精度よく処理できるアルゴリ
ズムと
パラメータを作成・設定する
6.機械学習(Machine
learning)
(6) 学習(learning)について
訓練データ
アルゴリズム
学習済モデル
(学習器)
を作成する
AI入
門
88/284
◇未知のデータを学習済モデルで判定・推論を行
う
回帰や分類などに使われる
6.機械学習(Machine
learning)
(7) 判定・推論(inference)について
未知のデータ
学習済モデル
これはバラです
AI入
門
89/284
6.機械学習(Machine
learning)
(8) 代表的な学習方法
方法 概要 適用
教師あり学習
(Supervised Learning)
正解の訓練データを使って学習し、
過去の正解にできるだけ近似(回帰
/分類)する入出力パターンのモデ
ルを構築する
回帰
分類
異常検出
教師なし学習
(Unsupervised Learning)
正解が決まっていない訓練データを
使って学習し、クラスタリングや次
元削減によって本質的なデータ構造
のモデルを構築する
クラスタリング
レコメンデー
ション
強化学習
(Reinforcement Learning)
プログラムの行動に対するフィード
バック(報酬・罰)を訓練データと
して学習し、次に最も取るべき行動
方針のモデルを構築する
AI入
門
90/284
入力する学習データに正解(正しい答え)をセッ
トで与え、データの相関関係を学習させる方法
【例】
犬の写真には「犬」という正解、猫の写真には
「猫」という正解データをセットにし、評価する
データが「犬」か「猫」かを判定させる。
家賃の予測、スパムフィルタ、文字や写真の認識等に
使う
6.機械学習(Machine
learning)
(9) 教師あり学習(Supervised learning)
AI入
門
91/284
入力値に対する出力値を予測し、その結果を求める場合に使う
例: 集客人数や商品の売り上げ予測など
6.機械学習(Machine
learning)
(10) 回帰(regression) 1
もっとも誤差の少ない
関数を見つけて値を予
測する
?
AI入
門
92/284
6.機械学習(Machine
learning)
(10) 回帰(regression) 2
AI入
門
93/284
入力値を事前に定義したクラスに分類し、その結果を出力する場合
に使う
例: 写真に写った花がバラなのかボタンなのか判定する な
ど
6.機械学習(Machine
learning)
(11) 分類(classfication) 1
きちんと分類できる関
数を見つけて推定する
これは青の仲間
AI入
門
94/284
6.機械学習(Machine
learning)
(11) 分類(classfication) 2
AI入
門
95/284
入力する学習データに「正解」かどうかの
データを付与しない。
異常検出、リコメンデーション、購買層のグ
ループ分け、多次元データの次元数削減など
で使用する
6.機械学習(Machine
learning)
(12) 教師なし学習(Unsupervised learning)
AI入
門
96/284
データの類似性を見つけ、自動的にいくつかのグループに分類する場合に
使う
例: 顧客ごとのセグメンテーションを見つける など
6.機械学習(Machine
learning)
(13) クラスタリング(clustering) 1
データの特徴から、いくつ
かのグループを自動で見つ
ける
AI入
門
97/284
6.機械学習(Machine
learning)
(13) クラスタリング(clustering) 2
AI入
門
98/284
6.機械学習(Machine
learning)
(14) レコメンデーション(r
ecommendation)
AI入
門
99/284
6.機械学習(Machine
learning)
(15) 機械学習の手法いろいろ 1
AI入
門
100/284
手法 内容
K近傍法
k-nearest neighbor
もっとも近いK個のデータを用いた多数決に
より分類する。シンプルなアルゴリズム。
決定木
Decision Tree
枝分かれでデータを分類する。
Tree構造を訓練することで適切な予測を行う。
ナイーブベイズ
Naive Bayes
ベイズの定理(確率論)をもとにしており、教
師あり学習の分類タスクでよい成績をだして
いる。
サポートベクターマシン
Support Vector Machine
多次元における超平面(3次元における平面
拡張)を訓練しデータを分類する。
優秀なパターン認識を発揮する。
強化学習
Reinforcement Learning
エージェントが試行錯誤で「環境における価
値を最大化するような行動」を学習する。
ニューラルネットワーク
Neural Network
脳の神経細胞を模した数学モデルで、最適化
されたネットワークは高い性能を示す。
6.機械学習(Machine
learning)
(15) 機械学習の手法いろいろ 2
AI入
門
101/284
6.機械学習(Machine
learning)
(16) K近傍法(k-nearest neighbor)
最も単純なアルゴリズムの一つで、特徴空間中でテストデータに最も似
ているデータを探す。
似たようなデータをk個集めてそれらの多数決から目的とする値を求める
AI入
門
102/284
6.機械学習(Machine
learning)
(17) 決定木(Decision Tree)
条件分岐する木構造を用いて分類や回帰を行う
分類木: 性別のように、分類を目的にして、決定木のアルゴリズム
を使用する
回帰木: 株価の変動等、データから未来の数値を予想する
AI入
門
103/284
6.機械学習(Machine
learning)
(18) ランダムフォレスト(Random Forest)
決定木を複数組み合わせて、各決定木の予測
結果を多数決するアンサンブル学習で結果を
出す
AI入
門
104/284
単純ベイズ法とも言われ、ベイズ確率の原理に
基づいた分類を行う。訓練データの特徴量をも
とに、個々の結果が起こる観測確率を計算し、
ラベルのないデータを分類するアルゴリズム。
「パラメータを確率変数として考える」
スパムメールの分類にも使われている。
「各特徴が独立という仮定」を置いているため
「データについてNaiveな想定」と言われる。
6.機械学習(Machine
learning)
(19) ナイーブベイズ(Naive Bayes)
AI入
門
105/284
「主観確率」を扱い、従来の記述・推計統計
学とは考え方がかなり違う。
事前確率を元に、得られたデータから新たな
確率を導出する統計学。新しい情報が得られ
たら確率をどんどん更新していく。(3つの
ドア問題)
記述統計学: 標本に見られる特徴をわかりやすく表
す
推計統計学: 標本を分析し母集団について推測する
ベイズ統計学:標本を必ずしも必要としない。
データが不十分でも何とかして
確率を導く。
6.機械学習(Machine
learning)
【参考】ベイズ統計
AI入
門
106/284
6.機械学習(Machine
learning)
(20) サポートベクターマシン(SVM) 1
優秀な認識性能を持ち、高い識別能力を持つ。
「マージン最大化」という考え方で識別境界を決定する。
AI入
門
107/284
6.機械学習(Machine
learning)
(20) サポートベクターマシン(SVM) 2
線形分離ができない場合でも、高次元空間に写像して線形分離し
て識別境界を決定する。(超強力なカーネル法)
「n次元空間の分類境界は(n−1)次元の超曲面」
AI入
門
108/284
6.機械学習(Machine
learning)
(21) 強化学習( Reinforcement Learning) 1
与えられた「環境」における価値(利益)を最大化するよう
「エージェント」を学習させる。
目先の価値ではなく、試行錯誤を通じて「価値を最大化するよう
な行動」を取るように「報酬」を与える。
どのように方策を書き換えていくのか(利用と探査)と、方策を
どのように決定するか(価値をどのように反映するか)がポイン
ト
AI入
門
109/284
6.機械学習(Machine
learning)
(21) 強化学習( Reinforcement Learning) 2
強化学習ではその時点で貰える報酬(即時報酬)ではなく、(将来に渡
る)価値を最大化する。よって、近視眼的な行動ではなく、より未来を
考えた価値を最大化する行動を取る必要がある。
このため、エージェントは「ある状態においてある行動を取った時の価
値」の一番高い行動を選択するようにする。この価値のことを Q値 (状態
行動価値)と呼ぶ。
Q値は「報酬」ではなく「価値」。つまり、Q値とは報酬ではなく、長期
的価値を値として持っている関数となる。
「その行動によって、価値の高い状態に遷移できるような行動」を学習
する。
ただし、時間制限しない場合、ローリスクローリターンな行動に偏りが
ちになるため、時間による割引の概念を導入する。つまり、早く行動し
ないと同じ行動でも得られる報酬が減るように「割引率」を設定する。
・報酬の総和を最適化する
・時間に対する報酬の割引を導入する
AI入
門
110/284
6.機械学習(Machine
learning)
(22) 強化学習( MDP: マルコフ決定過
程)
強化学習では、エージェントが取得する利得(累積報酬)を最大
化するよう、状態から行動へのマッピング(政策)を獲得させる。
マルコフ決定過程(Markov decision processes: MDP)によってモデル化
し、学習アルゴリズムを考える。
マルコフ決定過程では、次の状態への遷移が, そのときの状態と
行動にのみ依存し、それ以前の状態や行動には関係ないことを前
提としている。
・環境は状態を持ち、それは完全に正確に観測可能であること。
・エージェントが行動を行うと、環境が確率的に状態遷移し、環境から確率的に
報酬が得られるが、遷移確率と報酬が得られる確率は事前に分からず、学習過程
で学習していくこと。
・報酬の指数移動平均を最大化するように行動すること。
SMDPやPOMDPなどの数理モデルも考案されている。
AI入
門
111/284
6.機械学習(Machine
learning)
(23) 強化学習( 各種アルゴリズム)
最近は深層学習(Deep learning)と組合わせて使われる
環境・行動・報酬のデータ化、環境の状態観測、報酬の計算等のアルゴリズムは、
問題に応じて設定する
SARSA
AI入
門
112/284
6.機械学習(Machine
learning)
(24) 強化学習( Q学習:Q-learning)
アルゴリズム 特徴
Q学習
Q-learning
代表的な方法で、行動価値関数(Q値)を学習し、こ
のQ関数で報酬が最大の行動を取る。
次の状態がどれくらいの価値を持つかの期待値を(現
在推定されている値の)最大値にする方法。
期待値(≈実際の報酬)と見込みの差分から学習をしてい
くが、この差分(誤差)をTD誤差といい(Temporal
Difference)、TD誤差により学習を行うTD学習の一種。
Q関数更新後に、実際に行う次の行動Action(next)を、ε-
greedy法にしたがって決定するので、Q関数の更新に使
用したAction(next)と、次の時刻での実際の行動
Action(next)が異なる可能性がある。
※ε-greedy法
報酬が最大になると期待される行動を選択するが、と
きおりランダムに行動して、探索と最適化のバランス
をとる手法
AI入
門
113/284
6.機械学習(Machine
learning)
(25) 強化学習( SARSA)
アルゴリズム 特徴
SARSA
State, Action, Reward, State(next), Action(next)の頭文字をとっ
た手法で、Q学習では、期待値の見積もりを現在推定
されている値の最大値で置き換えたが、SARSA の場合、
実際に行動してみたらどうなったかを使って期待値の
見積もりを置き換える。なので、現在の価値を更新す
るためにエージェントはもう一度行動する必要がある。
SARSAでは次の時刻の行動Action(next)を、Q関数の更新
より前に決定する。(SARSAも次の行動Action(next)はε-
greedy法にしたがって決定)つまりSARSAでは、実際に
行う次の行動のQ値を使用してQ関数を更新する。
ステップ数が進み、ε-greedy法がほとんど探索を行わず
最適行動のみを行う場合には、Q学習もSARSAも同じ
となる。
一方で試行の初期で探索が多い場面では、SARSAは実
際の行動を反映し、Q学習は期待される最大のものを
使用するという特徴がある。Q関数の更新に最適値を
使わないため、Q学習よりも収束が遅いが局所解に陥
AI入
門
114/284
6.機械学習(Machine
learning)
(26) 強化学習( モンテカルロ法)
アルゴリズム 特徴
モンテカルロ法
Q学習やSARSAとは違い、Q値の更新のときに「次の時点のQ
値」を使わない。何らかの報酬が得られるまで行動をしてみ
て、その報酬値を知ってから、辿ってきた状態と行動に対し
てその報酬を分配していくという手法。なので、モンテカル
ロ法では報酬が得られて初めてQ値を更新することができる。
(報酬が得られるまでQ値を更新することができない。)
一方Q学習やSARSAは「現在推定中のQ値でも、未来に渡る価
値を含むはずだ」という前提で、次の時点でのQ値を使って
常に更新を行う。モンテカルロ法は一度未来を見てから一気
にQ値の更新をかけるため、遠い未来の報酬も比較的早く学
習できるという特徴がある。
各ステップごとにQ関数を更新しないという特徴があり、試
行が終了した時点で、Q関数を全ステップ分一気に更新する。
そのため、試行終了までの各ステップでの(状態s、行動a、
得た報酬r)をすべて記憶しておく。試行の途中でQ関数を更新
できないが2つの利点がある。
・実際に得た報酬でQ関数を更新できる
・「報酬をうまく規定しづらいタスク」の学習に対応しやす
AI入
門
115/284
7.ニューラルネットワー
ク
ニューラルネットワーク
人工知能 AI(Artificial Intelligence)
機械学習 ML(Machine Learning)
ニューラルネットワーク(Neural Network)
深層学習 DL(Deep Learning)
AI入
門
116/284
◇パーセプトロン: 人間の脳を模した数学
モデル
7.ニューラルネットワー
ク
(1) ニューラルネットワークとは 1
AI入
門
117/284
◇パーセプトロン: 人間の脳を模した数学
モデル
入力(0,1)を受け取り、処理を行い、しきい値を超えたら出力す
る
7.ニューラルネットワー
ク
(1) ニューラルネットワークとは 2
入力値に対する出力値を決めるの
が
活性化関数
入力1
入力2
入力3
+バイアス
重み2
重み3
出力
重み1
◇シグモイドニューロン: 入出力が実数と
なる
これを多層化したものが多層ニューラルネットワーク
AI入
門
118/284
7.ニューラルネットワー
ク
(2) 活性化関数いろいろ
関数名 出力 特徴
ステップ関数 0,1
入力値が0未満なら出力値は0
入力値が0以上なら出力値は1
シグモイド関数 0~1
入力値が小さいと出力値は0に近づく
入力値が大きいと出力値は1に近づく
2クラスの識別に利用
ReLU関数 0~
入力値が0未満なら出力値は0
入力値が0以上なら出力は入力値
Leaky ReLU関数 -0.01~
入力値が0未満ならわずかな値を取る
この微小値が計算を進行させる
Tanh関数 -1~1 0を中心にマイナスとプラス側で相同
ソフトマックス関数 0~1
最終的な合計値が1となるように出力
多クラス識別に利用
恒等関数 入力値
入力と同じ値を出力する
回帰で使用することがある
AI入
門
119/284
7.ニューラルネットワー
ク
(3) 活性化関数の特性をグラフで見る 1
それぞれの特徴に応じて使い分ける
AI入
門
120/284
7.ニューラルネットワー
ク
(3) 活性化関数の特性をグラフで見る 2
それぞれの特徴に応じて使い分ける
AI入
門
121/284
7.ニューラルネットワー
ク
(4) 活性化関数の使用イメージ 1
シグモイド関数の例: バラかどうかを判定する
バラである確率が大きいか小さいかを(0~1)の出力値として返
す
X:入力*重みの合計+バイア
ス
1
0
バラの確立 0.2 バラの確立 0.8
AI入
門
122/284
7.ニューラルネットワー
ク
(4) 活性化関数の使用イメージ 2
AI入
門
123/284
7.ニューラルネットワー
ク
(5) 多層パーセプトロンへの拡張
単純な線形モデルから、非線形モデルへ拡張する
より複雑な事象に対応できるモデルを構築できる
多層パーセプトロン
パーセプロトンを結合して多層化し
たもの
出力
2
入力
1
入力
2
入力
3
隠層
1
隠層
2
隠層
3
出力
1
パーセプロトン
AI入
門
124/284
7.ニューラルネットワー
ク
(6) 順伝播法(Forward propagation)
入口から出口に向かってパラメータ(重みと
バイアス)を更新しながら処理を進める
出口に向かって各ユニットの
パラメータを更新する
出力
2
入力
1
入力
2
入力
3
隠層
1
隠層
2
隠層
3
出力
1
出力
2
入力
1
入力
2
入力
3
隠層
1
隠層
2
隠層
3
出力
1
更新
AI入
門
125/284
7.ニューラルネットワー
ク
(7) 誤差逆伝播法(Back propagation)
出力結果の精度を上げるための工夫
出力結果を正解に近づけるように、ニューラルネットワークを
出力から
入力まで逆方向にさかのぼって、重みとバイアスを更新する
出口からさかのぼってパラメータを
更新
正解との差を計測するのが損失関数
出力
2
入力
1
入力
2
入力
3
隠層
1
隠層
2
隠層
3
出力
1
更新
出力
2
入力
1
入力
2
入力
3
隠層
1
隠層
2
隠層
3
出力
1
AI入
門
126/284
7.ニューラルネットワー
ク
(8) 順伝播と誤差逆伝播
AI入
門
127/284
7.ニューラルネットワー
ク
(9) 誤差逆伝播法(Back propagation)の理
解
出力結果の精度を上げるメカニズム
理解要素 概要
データの使い方 学習に使うデータと検証データの使い方
損失関数(誤差関数)
Loss Function
出力と正解との誤差を計測する関数
勾配降下法
重みとバイアスを遡って更新する時に使
用する
最適化アルゴリズム
ネットワークを更新する際の各種最適化
アルゴリズムの理解
バッチサイズ 重みとバイアスの更新間隔
AI入
門
128/284
7.ニューラルネットワー
ク
(10) 誤差逆伝播法: データの使い方 1
訓練データ : ネットワークの学習に使う
検証データ : 学習結果の検証に使う
テストデータ: 最終的なモデルの予測検証に使う
全体のデータ(3つに分ける)
学習・検証に使用
訓練
デー
タ
検証
訓練
デー
タ
検証
訓練
デー
タ
検証
訓練
デー
タ
検証
最終テストで使用
テス
ト
デー
タ
テス
ト
デー
タ
AI入
門
129/284
訓練データ(training data)
検証データ(validation data)
テストデータ(testing data)
訓練データを用いて機械学習モデル自体を調整(学習)し、
学習に使用していない検証データを用いて、学習の結果
を評価する。
最後に、モデルの学習が完了した時点で、学習にも検証
にも使用していないテストデータを使ってモデルの最終
的な予測結果を評価する。
テストデータはモデルの学習時には直接的にも間接的に
も一切使用しない。
7.ニューラルネットワー
ク
(10) 誤差逆伝播法: データの使い方 2
AI入
門
130/284
7.ニューラルネットワー
ク
(11) 誤差逆伝播法: データの使い方(ホールドアウ
ト法)
データ全体を学習用データとテストデータに分割し、
モデルの精度を確かめる手法。
例えばデータを、学習用データ60%、テストデータ
40%に分割する。
AI入
門
131/284
7.ニューラルネットワー
ク
(12) 誤差逆伝播法: データの使い方(クロスバリデーショ
ン法)
Cross Validation(クロスバリデーション法)は、K-分割交差
検証とも呼ばれる。
データ全体をK個に分割し、そのうちの1つをテストデータ
とし、残る K-1 個を訓練用データに分解する。その後、テ
ストデータと学習用データを入れ替えて繰り返し、全ての
ケースがテスト事例となるよう検証を繰り返す。(K回の
検証が行われる)
AI入
門
132/284
7.ニューラルネットワー
ク
(13) 誤差逆伝播法: データの使い方(リーブワンアウト法)
Leave One Out(リーブワンアウト法)は、一つ抜き法,
ジャックナイフ法とも呼ばれる。
データ全体のうち1つだけをテストデータとし、その後、
テストデータと学習用データを入れ替えて繰り返し、全て
のケースがテスト事例となるよう検証を繰り返す。
精度は高くなりやすいが時間が非常にかかる。
AI入
門
133/284
7.ニューラルネットワー
ク
(14) 誤差逆伝播法: 損失関数 回帰
出力結果(回帰)の精度を上げるための計算を行
う
損失関数が最小0に近づくようにパラメータを更新する
損失関数(回帰) 特徴
二乗誤差(最小二乗
法)
差の二乗を足すシンプルさ
よく使われるが外れ値に弱い
τ−分位損失
分位点回帰に使用
正解の上に位置するのか下かで損失が変
わるのが特徴
Huber損失 ロバスト回帰に使用
ε−感度損失
サポートベクター回帰に使用
不感帯を設定する
AI入
門
134/284
7.ニューラルネットワー
ク
(15) 誤差逆伝播法: 損失関数 分類
出力結果(分類)の精度を上げるための計算を行
う
損失関数が最小0に近づくようにパラメータを更新する
損失関数(分類) 特徴
交差エントロピー誤差
誤った確率分布 q が、正しい確率分布 p と
異なるほど大きい値になる
ロジスティック損失 ロジスティック回帰で使用
指数損失
分類が失敗しているケースに非常に厳し
い損失を付与
ヒンジ損失
サポートベクターマシンで使用
一定以上離れた場合には損失を0にする
平滑化ヒンジ損失 ヒンジ損失を滑らかにしたもの
AI入
門
135/284
7.ニューラルネットワー
ク
(16) 誤差逆伝播法: 損失関数の特性をグラフで見
る
それぞれの特徴に応じて使い分ける
回 帰 分 類
AI入
門
136/284
7.ニューラルネットワー
ク
(17) 勾配降下法の考え方 1
誤差の最小値を探索するアルゴリズムのひとつ
各点での微分(勾配)を見て、急な方向に降りて
いく
全体最適解
局所最適解
局所最適解にトラップされない
注意が必要
AI入
門
137/284
7.ニューラルネットワー
ク
(17) 勾配降下法の考え方 2
全体最適解
局所最適解
夜の山岳地帯で谷底を探すようなもの
局所解にとらわれず、大域最適解にたどり着くようにする
AI入
門
138/284
7.ニューラルネットワー
ク
(18) 勾配降下法
勾配降下法 概要
最急降下法(バッチ勾配法)
Gradient Descent
学習データのすべての誤差の合計を取ってパラ
メーターを更新する。計算コストが大きく、学習
データが増えるたびに全データで再学習が必要。
オンライン更新(新しい例を得ながらモデルを更
新)することができない。学習率の設定が重要。
確率的勾配降下法
Stochastic Gradient
Descent(SDG)
学習データをシャッフルした上でランダムに1つを
取り出して誤差を計算しパラメーターを更新する。
増えた分だけの学習データのみで再学習するため
再学習の計算量が低くなる。最急降下法よりも早
く最適解にたどり着けるが、運が悪ければいつま
で経っても適した答えを導けない。
ミニバッチ確率的勾配降下法
Minibatch SGD(MSGD)
最急降下法では時間がかかりすぎ、確率的勾配降
下法では一つ一つのデータに揺さぶられるので、
学習データの中からランダムにいくつかのデータ
を取り出して誤差を計算、パラメーターを更新す
る。このとき一回に取り出すデータの数をバッチ
サイズと呼ぶ。
AI入
門
139/284
◇1.適切な学習率の選択が難しい。学習率が小さ過ぎると収束が遅くな
る。大き過ぎると収束せず、損失関数が極小値周辺で変動したり発散した
りする。
◇ 2.訓練中に学習率を調整する場合、焼きなまし法(ある割合で学習率
を減らす)や、エポック間での変動が閾値以下に落ち込んだ時に、スケ
ジュールや閾値は、事前に決めておかなければならない上に、データセッ
トの特性には適応できない。
◇ 3.全てのパラメータ更新に同じ学習率を適用すると、もしデータがス
カスカで、特徴の頻度がかなり異なる場合、全てを同程度まで更新したい
とは思わず、あまり起こらない特徴のために、より大きな更新をしたいか
もしれない。
◇ 4.高度に非凸な誤差関数を最小化する場合、局所解に捕らわれるのを
避けることが重要。鞍点 (ある次元の勾配が上がる一方、別の勾配は下が
る点)から問題が発生するが、鞍点は、誤差が等しいグラフの平坦地帯に
囲まれているため、勾配が全ての次元においてゼロへ近づくにつれ、SGD
7.ニューラルネットワー
ク
(19) 勾配降下法の課題 1
AI入
門
140/284
7.ニューラルネットワー
ク
(19) 勾配降下法の課題 2
2つのパラメータをもつ損失関数が作る非凸面の例
AI入
門
141/284
7.ニューラルネットワー
ク
(19) 勾配降下法の課題 3
鞍点・特異点で問題発生
鞍点 :
勾配0だが、少し移動すれば上昇も下降もできる
特異点:
パラメータを変更しても関数の出力が変化しない
(こっちの方がやっかい)
これらをうまく切り抜けるために様々な最適
化アルゴリズムが考案されている
AI入
門
142/284
7.ニューラルネットワー
ク
(19) 勾配降下法の課題 4
鞍点・特異点で問題発生
AI入
門
143/284
7.ニューラルネットワー
ク
(20) 勾配降下法の最適化アルゴリズム 1
夜の山岳地帯で谷底を探すようなもの
効果的に、確実に大域最適解にたどり着く方法を考える
最適化アルゴリズム 特徴
確率的勾配降下法
(SDG)
学習データの中からランダムに一つのデータを選んで勾配を
計算するため局所最適解にトラップされにくい。学習率と勾
配をかけるシンプルな計算。
欠点:学習の進行度で更新量の調整ができない。
MomentumSDG
前回の勾配と現時点での勾配を線形結合し、勾配の更新方法
とする。(1つ前の勾配方向の影響を受けながら現在の勾配方
向にも進む)。過去の勾配ほど影響を少なくする。
AdaGrad
学習係数を自動で調整するので、便利で効率良い探査が行え
る。
同じ勾配方向ばかりが現れた場合、その方向に対する進みを
減衰させ、出現頻度の少ない勾配方向の成分を優先する計算
を行う。
欠点:学習が進むと更新量が0になって学習が進まない。
AI入
門
144/284
7.ニューラルネットワー
ク
(20) 勾配降下法の最適化アルゴリズム 2
最適化アルゴリズム 特徴
Nesterovの加速勾配降
下法
Momentumの慣性項に対し、現在のパラメータに関する勾配計
算ではなく、未来のパラメータの推定位置を計算することで
勾配更新を調整(加速し過ぎの場合は減速)する。
Adadelta
Adagradの発展形で急速かつ単調な学習率の低下を防ぐ。学習
率の初期値設定が不要。直近の勾配情報を優先して計算する。
勾配の合計値を、過去のタイムステップ全ての勾配の二乗を
減衰平均化し、再帰的に定義するのでタイムステップ時点に
おける移動平均は、その時点の勾配と過去の平均にのみ依存
する。
Adam
他のアルゴリズムのいいとこ取り。重みつき平均と重みつき
勾配を推定する。勾配に過去の影響の強さを反映させ、高い
性能を発揮する。
この他に RMSpropGraves (2014)、SMORMS3 (2015)、AdaMax (2015)、Nadam (2016)、
Eve (2016)、Santa (2016)、GD by GD (2016)、AdaSecant (2017) など、次々に提
唱されている。
AI入
門
145/284
7.ニューラルネットワー
ク
(21) バッチサイズ
学習処理のサイズを適正化するために、訓練データを複数のサ
ブセットに分けて学習することで学習効果を高める。
□バッチサイズ
それぞれのサブセットに含まれるデータ数
□イテレーション数
データセットに含まれるデータが少なくとも1回は学習に用いら
れるのに必要な学習回数。バッチサイズが決まれば自動的に決
まる。
□エポック数
バッチサイズの大きさで、訓練データをサブセットに分ける。
この時、イテレーションの数だけ処理を行うことで、全訓練
データに対して一回目の学習処理が終わる。これを何回繰り返
すかがエポック数である。
AI入
門
146/284
learning)
深層学習(Deep Learning)
人工知能 AI(Artificial Intelligence)
機械学習 ML(Machine Learning)
ニューラルネットワーク(Neural Network)
深層学習 DL(Deep Learning)
AI入
門
147/284
learning)
人工知能 AI(Artificial Intelligence)
機械学習 ML(Machine Learning)
深層学習 DL(Deep Learning)
AI
強いAI (感情を持つ)
弱いAI
特化型AI(AGI)
汎用型AI(GAI)
ML
教師あり学習
回帰(Regression)
分類(Classification)
異常検出(Anomaly detection)
教師なし学習 クラスタリング、分布推定
強化学習
DL
生成モデル
CNN(Convolutional Neural Network)
RNN(Recurrent Neural Network)
AI入
門
148/284
learning)
(1) 深層学習(Deep learning)とは
ニューラルネットワークを深く多層化したも
のを使って学習することをディープラーニン
グと言う。
(何層以上という明確な規定はない)
入力
1
入力
2
入力
3
隠層
1
隠層
2
隠層
3
出力
2
隠層
1
隠層
2
隠層
3
出力
1
隠層
1
隠層
2
隠層
3
入力層 隠れ層 出力層
AI入
門
149/284
learning)
(2) 層を増やすと何がいいのか? 1
ニューラルネットワークを深く多層化すると、
表現できる関数が増える。
→ 複雑な問題にも適合可能となる
AI入
門
150/284
learning)
(2) 層を増やすと何がいいのか? 2
線形関数だけでなく、複雑な非線形関数も近
似できるようになる → 適合度が高くなる
AI入
門
151/284
learning)
(3) 機械学習と深層学習の違い 1
◇一番違うのは「特徴量」の見つけ方。
機械学習: 特徴量を人が見つけて指定する
深層学習: 大量のデータからAIが自分で見つけ
る
AI入
門
152/284
learning)
(3) 機械学習と深層学習の違い 2
Deep learningは特徴抽出など
を自動で行う
AI入
門
153/284
ILSVRC(画像認識の国際競技会)での圧勝
2012年の大会で、トロント大学のHinton教授の
チームがDeep Learningを使って圧勝した。
どれくらいすごい?
それまでは、0.数パーセントの精度向上を競っていたが、ヒ
ントン教授のチームは、いきなり100倍以上の性能向上(十
数%)
2位以下をぶっちぎってダントツトップで優勝した。
【おまけ】 Deep Learingは2015年の大会から人間の認識能力を超えた。
ヒントン教授が立ち上げたベンチャーはGoogleが買収した。
learning)
(4) 注目されるきっかけ
AI入
門
154/284
learning)
(5) さまざまなニューラルネットワーク
1
AI入
門
155/284
learning)
(5) さまざまなニューラルネットワーク
1
AI入
門
156/284
今回は、代表的な
CNN: 畳み込みネットワーク(Convolutional Neural Network)
RNN: 再帰型ニューラルネットワーク(Recurrent Neural Network)
生成モデル:オートエンコーダ(自己符号化器)やGANなど
を紹介します。
【CNN】
• 画像に含まれる物、場所、人などを検知しラベル付けする。
• 人の音声をテキストに変換する。自然な音や音声を合成する。
• 画像やビデオに自然言語で注釈を付ける。
• 自動運転車で道路を把握したり周囲の障害物を避ける。
• 自動プレイの為テレビゲームの画面解析を行う。
• 画像、音、テキストなどを自動生成するモデルで使われる
learning)
(5) さまざまなニューラルネットワーク
3
AI入
門
157/284
learning)
(6) CNN: 畳み込みネットワーク(Convolutional Neural
Network)
◇「畳み込み層」「プーリング層」「全結合層」を積層した構
造を持つ
(ヒントン教授が画像認識で使ったのがこのCNN)
AI入
門
158/284
learning)
◇フィルターを使った畳み込み層で入力データの特徴を抽出す
る
画像認識やテキスト、信号処理で高い性能を発揮する。
誤差逆伝播法
(6) CNN: 畳み込みネットワーク(Convolutional Neural
Network)
AI入
門
159/284
learning)
(7) CNN: 畳み込み層 1
◇「フィルター」を使って入力データの特徴を抽出する
データ フィル
ター
出力
AI入
門
160/284
learning)
(7) CNN: 畳み込み層 2
◇「フィルター」を使って入力データの特徴を抽出する
1 0 1
0 1 0
1 0 1
X
Filter
AI入
門
161/284
learning)
(7) CNN: 畳み込み層 3
◇「フィルター」を使って入力データの特徴を抽出する例
MNISTの手書き数字の上に1層の畳み込み層があり、8個のフィル
ターでそれぞれに対応した8つの特徴マップを得ている。
AI入
門
162/284
learning)
(8) CNN: プーリング層
◇特徴量が持つ情報を圧縮し、位置ずれに対して堅牢にする
情報を領域に区切り、各領域の代表値を抽出する(最大・平
均など)
この処理でデータが圧縮される(ダウンサンプリング)
AI入
門
163/284
learning)
(9) CNN: 全結合層
◇畳込み層とプーリング層で特徴量を取り出し、全結合層で分
類する
AI入
門
164/284
learning)
(10) CNN: 画像の処理イメージ 1
◇畳込み層とプーリング層で特徴量を取り出し、全結合層で分
類する
AI入
門
165/284
learning)
(10) CNN: 画像の処理イメージ 2
◇畳込み層とプーリング層を積み重ねることで、層を経るごと
により高次の特徴を獲得する
AI入
門
166/284
learning)
(11) CNN: 設定するパラメータ 1
◇CNNの学習で必要なパラメータ(ネットワークの構成)
AI入
門
167/284
learning)
(11) CNN: 設定するパラメータ 2
◇CNNの学習で必要なパラメータ(学習のパラメータ)
AI入
門
168/284
learning)
(11) CNN: 設定するパラメータ 3
◇CNNの学習で必要なパラメータ
AI入
門
169/284
learning)
(12) CNN: 関連技術が次々に・・・
次々に新しい関連技術が開発・発表されている
4つほど紹介して、あとは省略(;^ω^)
R-CNN
Fast R-CNN
Faster R-CNN
YOLO
SSD
Mask R-CNN
FCN
SegNet
CNN+CRF
Deep Mask
Deep Face
Spatial Transformer Networks
Deep Dream
モーフィング
画風変換
Super-Resolution CNN
Deblurring
Automatic Colorization CNN
Deep Stereo
Adversarial Example
WaveNet
MemNet
画像キャプション生成
Visual Turing Test
画像と単語のクロスモーダル分散表
現
Asynchronous DQN
AI入
門
170/284
learning)
(13) CNN: YOLO(You Look Only Onse)
物体検出を行うが、分類ではなく回帰としてモデル化
処理がひとつのネットワークのみで完結している
リアルタイム処理が可能
AI入
門
171/284
learning)
(14) CNN: Mask R-CNN などなど
物体検出をバウンディングボックスの範囲ではなく、ピクセル
単位で行う(セマンテックセグメンテーション)
他にも、FCN、SegNet、Dilated畳み込み、DeepLab (v1 & v2)、
RefineNet、PSPNet、Large Kernel Matters、DeepLab v3などが提唱され
ている
AI入
門
172/284
learning)
(15) CNN: WaveNet(音声技術)
◇畳み込み層で音声を取り扱う技術のひとつ
スマートスピーカーにも使われている
AI入
門
173/284
learning)
(16) CNN: Adversarial Example
□ AIをだます
分類器が正しく分類できていた画像に、ノイズ(計算された摂
動)を付加することで分類器の判断を誤らせる
分類器が「パンダ」と判定した画像に、計算された摂動(ノイ
ズ)を付与すると、AIは「テナガザル」と判断してしまう例
AI入
門
174/284
learning)
(17) RNN: 再帰型ニューラルネットワーク
1
◇RNN: Recurrent Neural Network
再帰構造を持ち、時系列データを効率よく処理できるように
設計
音声や文書、動画などの時間変化するデータ処理に強い
RNNは中間層が再帰型
中間層の出力が、次の入力と共に中間層の入力となる
AI入
門
175/284
learning)
(17) RNN: 再帰型ニューラルネットワーク
2
◇RNN: Recurrent Neural Network
ニューラルネットワークが中間層に前の時刻の情報を保持す
るので、
過去の情報を用いて判断を行うことができる
前後関係がある文章、時間経過がある音声や動画の処理が得
意
AI入
門
176/284
learning)
(18) RNN: 課題
◇時系列で深いネットワーク構造を持つので、誤差逆伝播の勾
配が喪失(または発散)しがちになる。
このため、短期の記憶は保持できるが、長期の記憶保持が苦手。
以下のような文書を解析する場合、冒頭に出てきた「中国」と
いう単語が最終予測に重要だが、RNNだと保持しにくい。(長期
依存性に弱い)
「中国を旅行し、いくつかの都市を訪問し、さまざまな人たち
と出会い、多くの貴重な体験をしたが、もっとも印象深かった
街は●である。」
このため、長期依存性のあるネットワーク構造が提唱されてい
る
(次に紹介するLSTM、GRUなど)
AI入
門
177/284
learning)
(19) RNN: LSTM(Long Short-Term Memory)
◇隠れベクトルとは別にメモリベクトルで過去情報を保持する。
「ゲートベクトル」で過去情報を管理する。
AI入
門
178/284
learning)
(20) RNN: こんなことができる
◇自然言語処理でAIが文章を生成する。
(日本語の場合は、分かち書きをしないので前処理に形態素解析を行
う)
■第三回星新一賞応募作品 「コンピュータが小説を書く日」 有嶺雷太
その日は、雲が低く垂れ込めた、どんよりとした日だった。
部屋の中は、いつものように最適な温度と湿度。
洋子さんは、だらしない格好でカウチに 座り、くだらないゲームで時間を潰している。
でも、私には話しかけてこない。
ヒマだ。ヒマでヒマでしょうがない。
この部屋に来た当初は、洋子さんは何かにつけ私に話しかけてきた。
「今日の晩御飯、何がいいと思う?」
「今シーズンのはやりの服は?」
「今度の女子会、何を着ていったらいい?」
私は、能力を目一杯使って、彼女の気に入りそうな答えをひねり出した。
スタイルがいい とはいえない彼女への服装指南は、とてもチャレンジングな課題で、充実感が
あった。
しか し、3か月もしないうちに、彼女は私に飽きた。
<以下省略>
AI入
門
179/284
冒頭に紹介した、AIがつくった偽画像やフェイク動画は、
このモデルを使って作られている。
代表的な生成モデルである、オートエンコーダー、VAE
とGANを紹介。
learning)
(21) 生成モデル
訓練データを学習し、それらのデータと似たような新
しいデータを生成するモデル。
別の言い方をすると、訓練データの分布と生成データ
の分布が一致するように学習していくようなモデル。
AI入
門
180/284
learning)
(22) 生成モデル: オートエンコーダ(自己符号化
器)
入力と出力を同じにする半教師あり学習で対象の特徴表現を自
己学習するが、オートエンコーダの核は次元削減。
以前はニューラルネットワークの事前学習にも使われていたが、
最近は生成モデルにも使われる
AI入
門
181/284
learning)
(23) 生成モデル: VAE(Variational AutoEncoder)
VAE(変分自己符号化器)は学習による近似推論を用い, 勾配に
基づく方法で訓練できる変分ベイズ推定法の一種。
AEのように入力を固定した潜
在空間に圧縮するのではなく,
符号化器の潜在変数を生成す
る確率分布のパラメータに変
換する。
AI入
門
182/284
learning)
(24) 生成モデル: GAN (Generative Adversarial Networks)
GAN(敵性的生成ネットワーク)は、Generator(生成器)とDiscriminator(判別
器)の2つネットワークの学習によって、ノイズから画像を生成するアル
ゴリズム
生成器Gは、判別器Dに本物と誤認識させるような画像を生成し、判別
器Dは、本物か偽物かを見分ける役割がある。
お互いが切磋琢磨して学習すると、本物と見分けがつかないような画像
も生成できる。
DCGANのモデル
AI入
門
183/284
learning)
(25) 生成モデル: GAN (DCGAN)
GANの2つのネットワークにDeep Learningを使ったのがDCGAN
サングラスの男 ー 男 + 女 = サングラスの女 という演算もで
きる
AI入
門
184/284
learning)
(26) 生成モデル: GAN (SRGAN)
◇GANを使うと、ぼやけた画像をシャープにすること
も可能
低解像度画像を縦横4倍ずつの高解像度にした例
AI入
門
185/284
learning)
(27) 生成モデル: アップサンプリング
低解像度を高解像度にしている仕組み
①相対的に拡大: 相対的(相似)に拡大し、隙間はゼロパディング
②隙間を中間色で埋める: 隣にある情報の中間色で隙間を埋める
③特徴を比較: CNNと同じようにフィルタ(特徴)を比較して画像を変
換
AI入
門
186/284
名称 概要
GAN ベースのシンプルなGAN
DCGAN GANの2つのネットワークにCNNを用いることにより、学
習の精度が上がり高解像度の画像を生成
Pix2pix 一対一に対応してそうな画像間を変換するGAN
pix2pixHD 2048×1024の高解像な画像を生成
CycleGAN 二つの画像を変換するように学習したGAN
StarGAN CycleGANの複数対応版
DCGAN シンプルに画像を生成するGAN
PGGAN 1024×1024の高解像な画像を生成
ACGAN DCGANより綺麗な画像生成を実現
SAGAN 指定したクラスの画像生成で最も高画質な生成を実現
learning)
(28) 生成モデル: GAN さまざまな派生 1
◇注目される技術なので、さまざまな派生版が提唱されている
AI入
門
187/284
名称 概要
SNGAN 正則化を損失関数に加えてより学習の精度あげる
ConditionalGAN 生成して欲しい画像のラベルも入力に与えることで指定
した画像を生成できる
InfoGAN 相互情報量を評価関数に導入し、可能な限り画像の何ら
かの特徴と意味の取れた関係を持つように学習する
StackGAN 高精度に文章から画像を生成できる
AnoGAN 画像の異常検出を試みる
WGAN 学習の方法を工夫する提案
WGAN-gp 評価関数にペナルティ項を加え、よりよいWGANの学習を
提案
3DGAN 画像ではなく3次元のボクセルを生成
CartoonGAN アニメ調に特化させているGAN
learning)
(28) 生成モデル: GAN さまざまな派生 2
◇注目される技術なので、さまざまな派生版が提唱されている
AI入
門
188/284
learning)
(29) 転移学習とは
ある領域(ドメイン)で学習したモデルを別の領域(ドメイ
ン)に使って、
普通に学習させるよりも少ないデータで追加学習させる手法。
既存モデルが学習した結果(重み付け)を転用し、チューニン
グ済の各ノード間の重み付けを再利用する。
・少ないデータで高い精度を実現できる
・計算量が少ない
AI入
門
189/284
◇ ファインチューニング
転移学習では、学習済みモデルの重みを固定して使うが、ファイン
チューニングでは学習済みモデルの重みを初期値とし、再度学習によっ
て微調整する。
シミューレーション環境から実環境へ移行する際や、標準化されたモデ
ルを個々のユーザに最適化する時などに使用される。
◇ ドメイン適応
あるデータで学習したモデルを異なる分布のデータの学習に利用する手
法。
ドメイン適応では、低次元の特徴の組み合わせ方を共有し、その低次元
の特徴の表現を再学習することで異なる分布のデータの学習を行う。
タスクは同じでも入力データの分布が異なる場合、入力層に近い層を再
learning)
(30) 転移学習: ファインチューニングとドメイン
適応
AI入
門
190/284
learning)
(31) ディープラーニング(深層学習)の問題
点
◇高い性能を出す深層学習にも問題がある
問題点 概要
局所最適解へのト
ラップ
最適ではないところを最適解と勘違いしてしまい、
性能が上がらない。
過学習(過剰適合)
学習データに過剰に適合して本番に弱くなる。(ガ
リ勉)
勾配消失
誤差逆伝播法(Backpropagation)で入力層に遡る時、
勾配が0あるいは爆発して学習が進まなくなる。
次元の呪い
扱う特徴量(次元)が多すぎて、学習モデルが効率よ
く回帰や分類ができなくなる。
学習時間増大
大量のデータと複雑な計算により、膨大な処理時
間がかかってしまう。
AI入
門
191/284
learning)
(32) 問題: 局所最適解へのトラップ
降下勾配法では、損失関数の微分(勾配)が0の
地点を探すが、局所解に囚われないようにす
る
全体最適解
局所最適解
局所最適解にトラップされない
注意が必要
AI入
門
192/284
learning)
(33) 問題: 過学習(過剰適合) Overfitting
学習データに(ノイズも含めて)過度に適合してしまい、訓練
データに対しての誤差は小さいが、未知のデータに対する判断
が低下した状態
モデルの表現力・特徴量の次元の大きさと比較して、学習デー
タが少ない場合に陥りやすい
青が過学習の状態
AI入
門
193/284
learning)
(34) 問題: 勾配消失
多層化すると、誤差逆伝播の際に入力層に近づく
に従って勾配が消失し、学習が停滞する。
AI入
門
194/284
learning)
(35) 問題: 次元の呪い(球面集中現象)
扱う特徴量(次元)が多すぎて、学習モデルが効
率よく学習できなくなる。
AI入
門
195/284
learning)
(36) 問題: 学習時間増大
膨大なデータを扱うことや、アルゴリズムに
よる複雑な計算、最適化されていない処理で
学習が進まないなど、処理に膨大な時間がか
かってしまう。
学習時に、入力データに対し、バックワードプロパゲーション
を行い計算の重み付けを更新し、精度を上げていく。
1件あたりの時間は大したことがなくても、データが膨大になれ
ば相応の時間が必要になる。
NVIDIAのGUP「Titan X」を2枚搭載したマシンで300MBの画像を
AlexNetで学習させても丸1日かかる。
私のパソコンで計算すると一ヶ月でも終わらない。
Googleの猫は、1000台のサーバー(16000コア)で3日間学
習した。
AI入
門
196/284
learning)
(37) 問題解決へのアプローチ
◇改善へのアプローチを概観する
改善策 概要
最適化アルゴリズムの変更
SDGやAdamなど、対象に応じて効果的なアルゴリ
ズムを選択する。
バッチサイズの適正化 重みとバイアスを更新する間隔を適切に設定する
ハイパーパラメータの最適
化
ネットワークの層数、ニューロンの数、学習率な
どを適切に設定する
正則化(Regularization)
重みに制限を加えることで、局所解にトラップさ
れることを防ぐ
重みとバイアスの初期値調
整
ランダムに設定しておき、表現を多様化する。
早期終了(Early stopping) 過学習と停滞を防ぐため処理を途中で終わる。
ドロップアウト(Dropout)
途中のニューロンを一定の確率でランダムに消去
してネットワーク規模を下げて過学習を防止する。
データ拡張(Data
Augmentation)
データに何らかの加工を施し、データを水増しす
る。
AI入
門
197/284
learning)
(38) 対策: 最適化アルゴリズムの選択 1
◇【再掲】勾配降下法のアルゴリズム
状況に応じて最適なものを使う
最適化アルゴリズム 特徴
確率的勾配降下法
(SDG)
学習データの中からランダムに一つのデータを選んで勾配を
計算するため局所最適解にトラップされにくい。学習率と勾
配をかけるシンプルな計算。
欠点:学習の進行度で更新量の調整ができない。
MomentumSDG
前回の勾配と現時点での勾配を線形結合し、勾配の更新方法
とする。(1つ前の勾配方向の影響を受けながら現在の勾配方
向にも進む)。過去の勾配ほど影響を少なくする。
AdaGrad
学習係数を自動で調整するので、便利で効率良い探査が行え
る。
同じ勾配方向ばかりが現れた場合、その方向に対する進みを
減衰させ、出現頻度の少ない勾配方向の成分を優先する計算
を行う。
欠点:学習が進むと更新量が0になって学習が進まない。
AI入
門
198/284
learning)
(38) 対策: 最適化アルゴリズムの選択 2
◇【再掲】勾配降下法のアルゴリズム
状況に応じて最適なものを使う
最適化アルゴリズム 特徴
Nesterovの加速勾配降
下法
Momentumの慣性項に対し、現在のパラメータに関する勾配計
算ではなく、未来のパラメータの推定位置を計算することで
勾配更新を調整(加速し過ぎの場合は減速)する。
Adadelta
Adagradの発展形で急速かつ単調な学習率の低下を防ぐ。学習
率の初期値設定が不要。直近の勾配情報を優先して計算する。
勾配の合計値を、過去のタイムステップ全ての勾配の二乗を
減衰平均化し、再帰的に定義するのでタイムステップ時点に
おける移動平均は、その時点の勾配と過去の平均にのみ依存
する。
Adam
他のアルゴリズムのいいとこ取り。重みつき平均と重みつき
勾配を推定する。勾配に過去の影響の強さを反映させ、高い
性能を発揮する。
この他に RMSpropGraves (2014)、SMORMS3 (2015)、AdaMax (2015)、Nadam (2016)、Eve (2016)、
Santa (2016)、GD by GD (2016)、AdaSecant (2017) など、次々に提唱されている。
AI入
門
199/284
learning)
(39) 対策: バッチサイズの適正化
◇処理速度を考えるとバッチサイズは大きい方がいいが、
性能的にはミニバッチのサイズは小さい方がいい。
・テストデータに対する性能が良くなる
・発散しない学習率の幅が広くなる
AI入
門
200/284
learning)
(40) 対策: ハイパーパラメータ
◇設定値で結果に大きな差が出る最大の関門
AI入
門
201/284
learning)
(41) 対策: ハイパーパラメータの最適化
1
◇パラメータ調整法のいろいろ
調整法 概要
ランダム・サーチ
RandomizedSearchCV
ランダムにパラメータを試していく
グリッド・サーチ
GridSearchCV
パラメータの候補値を指定して、その組み合わせを全て試
す
ラテン超方格サンプリ
ング法
LHS
層別サンプリング法のひとつで、各変数をn個に分割して、
ランダムに値を取り出して試す
ベイズ最適化
Bayesian Optimization
パラメータに対する評価関数の分布がガウス過程に従うと
仮定し、パラメータ値を試していくことで実際の分布を探
索してより良いパラメータ値を得る
遺伝アルゴリズム
Genetic Algorithm
N個のランダムなパラメータの組み合わせ(遺伝個体)を作
り、その評価関数を得て、2つの遺伝個体間で交叉と突然
変異を行うことでより良いパラメータを得る
SMBO
TPE
パラメータに対する評価関数を予測する関数を使い、パラ
メータの変化でモデルがどのくらい改善されるかを予測し
て探索する
AI入
門
202/284
learning)
(41) 対策: ハイパーパラメータの最適化
2
◇ベイズ最適化
・ブラックボックス関数の最適点を効率よく探
索できる
・ガウス過程を用いて目的関数を表現する
・獲得関数が最大となる点を次の観測点に選ぶ
AI入
門
203/284
learning)
(42) 対策: 正則化(Regularization) 1
過学習の防止のため、モデルを学習する際に複雑さが増すこと
に対するペナルティを設け、このペナルティを訓練誤差に加え
た量が最も小さくなる学習モデルを求めるようにすることによ
り汎化性能を高める。
■L1正則化(L1ノルム) LASSO
ペナルティとして学習モデルのパラメータの絶対値の総和を用いる
特定のデータの重みを0にする事で、不要なデータを削除する
パラメータの一部を完全に0にするため、モデルの推定と変数選択を同
時に行う
■L2正則化(L2ノルム) Ridge
ペナルティとして学習モデルのパラメータの二乗の総和を用いる
データの大きさに応じて0に近づけて、滑らかなモデルとする
両方ともモデルの次元が低い方がペナルティが小さくなる。
(例外データに対応しようとして次元が増えるのを抑制する効果あり)
L1ノルムとL2ノルムを線形結合したElastic Netというモデルも提案されて
AI入
門
204/284
learning)
(42) 対策: 正則化(Regularization) 2
重み付けベクトルの空間上に学習データに対する誤差項の広がりを配置しこれを
動かすことで誤差を最小化させるが、そこにペナルティ項を付けておくことで
w1,w2の定まり方が変わる。
L1ノルム正則化: 尖った形の領域に接するようにしなければならないため自ず
とw2の軸上に最適点が定まってw1=0となる。「w2だけに値が入りw1はゼロにな
る」というような、いわゆるスパース(疎)な解を得やすい。「不要なパラメー
タを削りたい」(次元・特徴量削減)という時によく使われる。
L2ノルム正則化: 円状の領域に接するようにしなければならないためw1,w2とも
にnon-zeroな値が入る。過学習を抑えて汎化された滑らかなモデルを得やすい。
AI入
門
205/284
learning)
(43) 対策: 早期終了(Early stopping)
過学習の防止のため、過去のエポックで更新した重みパラメー
タを記憶したまま 学習を続け,テスト誤差が増加し始める点で
学習を停止する。
AI入
門
206/284
learning)
(44) 対策: ドロップアウト (Dropout)
過学習の防止のため、ある更新で層の中のノードのうちのいく
つかを無効にして(そもそも存在しないかのように扱って)学
習を行い、次の更新では別のノードを無効にして学習を行うこ
とを繰り返す。
形が異なるネットワークを複数使うことになるため、アンサン
ブル学習の効果があり、自由度を強制的に小さくして汎化性能
を上げる。
AI入
門
207/284
learning)
(45) 対策: 活性化関数(Maxout)
スタンダードなReLUに対して、Dropoutを生かすMaxoutが提唱
Maxout は層間に存在する隠れ層から次の層への複数の出力からまとめて
値を決定するもので、その中の最大値を次の層のノードへの入力とする。
何種類もの線形関数で構成することができる区分線形関数である。
活性化関数を学習することで様々な関数に近似することができるため
ReLU よりも表現力が高く、勾配が消滅しない。
AI入
門
208/284
learning)
(46) 対策: バッチ正規化(BatchNormalization) 1
各ユニットの出力をminibatchごとにnormalizeした新たな値で置き
直すことで、内部の変数の分布(内部共変量シフト)が大きく変わ
るのを防ぎ、学習が早くなる、過学習が抑えられるなどの強い
効果が得られる。
・大きな学習係数が使える
・正則化効果がある
・初期値にそれほど依存しない
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー
数式もコードも使わないAI(人工知能)入門セミナー

Weitere ähnliche Inhalte

Mehr von 地球人

目指そうハイブリッド型人材(最強人材への道)
目指そうハイブリッド型人材(最強人材への道)目指そうハイブリッド型人材(最強人材への道)
目指そうハイブリッド型人材(最強人材への道)地球人
 
Python開発環境構築ハンズオンセミナー
Python開発環境構築ハンズオンセミナーPython開発環境構築ハンズオンセミナー
Python開発環境構築ハンズオンセミナー地球人
 
LPWA基礎の基礎
LPWA基礎の基礎LPWA基礎の基礎
LPWA基礎の基礎地球人
 
7月9日 B2Bマーケティングセミナーの駐車場案内
7月9日 B2Bマーケティングセミナーの駐車場案内7月9日 B2Bマーケティングセミナーの駐車場案内
7月9日 B2Bマーケティングセミナーの駐車場案内地球人
 
KISオープンセミナー:ブロックチェーンの基盤技術と最新動向 久保氏資料
KISオープンセミナー:ブロックチェーンの基盤技術と最新動向 久保氏資料KISオープンセミナー:ブロックチェーンの基盤技術と最新動向 久保氏資料
KISオープンセミナー:ブロックチェーンの基盤技術と最新動向 久保氏資料地球人
 
八代で化石採集しよう!恐竜の化石も見つかったよ。
八代で化石採集しよう!恐竜の化石も見つかったよ。八代で化石採集しよう!恐竜の化石も見つかったよ。
八代で化石採集しよう!恐竜の化石も見つかったよ。地球人
 
enPiT-everi受講のススメ
enPiT-everi受講のススメenPiT-everi受講のススメ
enPiT-everi受講のススメ地球人
 
国はどのようにウソをつくのか?
国はどのようにウソをつくのか?国はどのようにウソをつくのか?
国はどのようにウソをつくのか?地球人
 

Mehr von 地球人 (8)

目指そうハイブリッド型人材(最強人材への道)
目指そうハイブリッド型人材(最強人材への道)目指そうハイブリッド型人材(最強人材への道)
目指そうハイブリッド型人材(最強人材への道)
 
Python開発環境構築ハンズオンセミナー
Python開発環境構築ハンズオンセミナーPython開発環境構築ハンズオンセミナー
Python開発環境構築ハンズオンセミナー
 
LPWA基礎の基礎
LPWA基礎の基礎LPWA基礎の基礎
LPWA基礎の基礎
 
7月9日 B2Bマーケティングセミナーの駐車場案内
7月9日 B2Bマーケティングセミナーの駐車場案内7月9日 B2Bマーケティングセミナーの駐車場案内
7月9日 B2Bマーケティングセミナーの駐車場案内
 
KISオープンセミナー:ブロックチェーンの基盤技術と最新動向 久保氏資料
KISオープンセミナー:ブロックチェーンの基盤技術と最新動向 久保氏資料KISオープンセミナー:ブロックチェーンの基盤技術と最新動向 久保氏資料
KISオープンセミナー:ブロックチェーンの基盤技術と最新動向 久保氏資料
 
八代で化石採集しよう!恐竜の化石も見つかったよ。
八代で化石採集しよう!恐竜の化石も見つかったよ。八代で化石採集しよう!恐竜の化石も見つかったよ。
八代で化石採集しよう!恐竜の化石も見つかったよ。
 
enPiT-everi受講のススメ
enPiT-everi受講のススメenPiT-everi受講のススメ
enPiT-everi受講のススメ
 
国はどのようにウソをつくのか?
国はどのようにウソをつくのか?国はどのようにウソをつくのか?
国はどのようにウソをつくのか?
 

数式もコードも使わないAI(人工知能)入門セミナー