一から始める機械学習(機械学習概要) : Machine Learning Overview

Mar 8, 2020 | Publisher: tflare | Category: Technology & Engineering |   | Views: 1552 | Likes: 1

一から始める機械学習 (機械学習概要) 阿部 泰之 自己紹介 ・阿部 泰之 / Hiroyuki Abe ・AI&機械学習しよう! (Do2dle)というグループで勉 強会を実施しています。 ・業務エンジニア  (生命保険 主に保険金支払) ・twitter / @taki_tflare ・https://tflare.com       このスライドの対象読者、目的 対象読者  ・機械学習について一から勉強したいひとが対象です 目的  ・機械学習の概要について理解する  ・人工知能と機械学習の違いについて理解する  ・ディープラーニングが話題になっている背景を理解する  ・機械学習の進歩の背景を理解する  ・更に勉強したい場合のおすすめの教材を理解する アジェンダ 1. 人工知能とは 2. 機械学習とは 3. 機械学習はどのようなことで使われているか 4. 学習の方法 5. ニューラルネットワークとディープラーニング 6. ディープラーニングがなぜすごいのか 7. 用語についてのまとめ 8. 人工知能とは何か? 世間の見方 9. なぜ機械学習が話題となるほどの進歩を遂げているのか 10. 最後に 11. 更に勉強したい場合 1. 人工知能とは 中島 秀之 人工的に作られた、知能を持つ実体。あるいはそれをつくろうとす ることによって知能自体を研究する分野である 西田 豊明 「知能を持つメカ」ないしは「心を持つメカ」である 溝口 理一郎 人工的に作った知的な振る舞いをするもの(システム)である 長尾 真 人間の頭脳活動を極限までシミュレートするシステムである 掘 浩一 人工的に作る新しい知能の世界である 浅田 稔 知能の定義が明確でないので、人工知能を明確に定義できない 松原 仁 究極には人間と区別がつかない人工的な知能のこと • 専門家による人工知能の定義 • 「人工知能は人間を超えるか」 松尾 豊 著 pp.45 より一部を抜粋 1. 人工知能とは • コンピュータ上で人間の知能を実現させるためのシス テム(左記の研究から生まれた、知能の一部分を実現 するための技術も指す) • 知能:調べる、計算する、予測する、判断する等 • 現時点では、自分の意志を持つAIはまだできていな い。しかし何かに特化して人間を超える能力を見せて いる。例えば人間のプロ囲碁棋士を破ったAlphaGo等 2. 機械学習とは 人工知能の研究課題の一つで、明示的にプログラムで指 示せずに、コンピュータに学習させる技術 データ 機械学習モデル 学習 分類等 A C B B A データを元に学習しモデルを作成する。 モデルを元に分類等を行う データ 2. 機械学習とは • 機械学習とは大量のデータに対し、そこに潜むパター ンを覚えさせ(学習)、未知のデータを判断する ルール(モデル)を獲得させることである。 • 現在において、機械学習は金融工学、画像処理、自動 運転、情報生命科学等など様々な分野に影響を与え 始めています。 人工知能 ディープ ラーニング ニューラル ネットワーク 機械学習 2. 機械学習とは 人工知能と機械学習の関連を図にすると以下になります。 ニューラルネットワーク、ディープラーニングは後で出てきます。 3. 機械学習はどのようなことで使われているか 分析  A. クリックデータの分析   大規模なウエブサイトで、ウエブのクリックデータを集めて、機械学習を利用 して解析し、ユーザに利便性を提供する。  B. レコメンデーション   購買履歴をもとに好みを分析し、興味・関心がありそうな情報をもとに情報を 提供する。   Amazonなどのショッピングサイトのおすすめや、Youtubeのおすすめ動画など 認識 A. 手書き認識   郵便物の配達において、一時的な仕分けをするのに使用されています。   またOCRの分野でも機械学習が使われています。  B. 顔認識   最近スマートフォンに搭載されています。 3. 機械学習はどのようなことで使われているか 制御  A. 自動運転   現在研究されている分野です。  B. ロボット制御 生成  A. 音楽の作成  B. 画像の作成  C. 翻訳 3. 機械学習はどのようなことで使われているか ・また、個人的に面白いと思っている、実用例をお見せします。 5対5の対人ゲーム Dota2で人間に勝利できるようになっています。 https://www.youtube.com/watch?v=UZHTNBMAfAA の画面の一部を表示 3. 機械学習はどのようなことで使われているか Dota2とは、MOBAと呼ばれるジャンルのゲームで他に有名なゲームだと 「League of Legends」があります。 基本的なルールは、5対5で敵の本拠地を破壊すれば勝ちというものです。 ただ、そこに行き着くまでに様々な戦略が存在しています。 プレイ時間は1ゲーム30~90分程度で、平均45分です。 またEスポーツ上最大の賞金額のゲームでもあります。 Dota2 -The International 2016  賞金総額 $ 20,770,640 (約23億)  優勝賞金 $ 9,139,002 (約10億) https://gigazine.net/news/20180626-openai-five-dota-2-defeating/ https://blog.openai.com/openai-five/ https://www.youtube.com/watch?v=UZHTNBMAfAA 4. 学習の方法 教師あり学習 教師なし学習 強化学習 教師あり 教師なし 強化学習 機械学習 参考:https://hadovanhasselt.files.wordpress.com/2016/01/intro_rl_20161.pdf 4.1 学習の方法(教師あり学習) 学習 機械学習モデル 教師あり学習は答えを含めたデータセットを用意し、 それを用いて学習を行い、モデルを作成する。 作成したモデルを元に分類や回帰を行う。 データセット or 例 スパムフィルター スパム スパム でない 4.1 学習の方法(教師あり学習) 前ページは分類の例、スパムかスパムでないかを学習 させた後であれば、スパムかどうかを自動的に判断し てくれる。 最近のウエブメールでは、最初の段階で精度が高いス パムフィルターが搭載されているが これはいろいろな人が、スパムかスパムでないかを送 ることでデータが蓄積されたため。 当然、一般的なフィルタのため、誤判定になることが あり、その場合学習させることで自分にあったスパム フィルタにすることができる。 4.1 学習の方法(教師あり学習) 0 5 10 15 20 0 10 20 30 40 部屋の広さ 賃 貸 価 格 学習 0 5 10 15 20 0 10 20 30 40 部屋の広さ 賃 貸 価 格 モデル 4.1 学習の方法(教師あり学習) 上記は部屋の広さと賃貸価格のデータセットを元に モデルを作成し、部屋の広さを入力すると賃貸価格を出 します。 0 5 10 15 20 0 10 20 30 40 部屋の広さ 賃 貸 価 格 部屋の広さ21のときの賃貸価格は? →8.5万円です。 4.1 学習の方法(教師あり学習) これが回帰の例です。 部屋の広さをいれると賃貸価格を出してくれます。 ここで賃貸価格をよりよく予想するためには、データセット との差の合計が最小になるような数式を算出したいというこ とです。 0 5 10 15 20 0 10 20 30 40 部屋の広さ 賃 貸 価 格 この差の合計が最小の数式を導く この数式は差が大きくて問題あり 4.1 学習の方法(教師あり学習) 差の合計が最小であれば、より良い予測になるという ことがわかります。 上記例では、どのようなモデルかわかりやすいです。 しかし、実際には、部屋の広さだけで賃貸価格は決ま りません。最寄り駅、駅からの近さ、設備など様々な 要因により賃貸価格は設定されます。 こういった複雑なものこそ機械学習によって実現させる か検討すべきものです。(例のような単純さであれば、 機械学習を使う必要ないです。) 4.2 学習の方法(教師なし学習) 教師なし学習は入力のみのデータセットを用意し、 クラスタリング(性質が近いデータをまとめる)や 次元削減、可視化等を行う。 https://github.com/ageron/handson-ml/blob/master/02_end_to_end_machine_learning_project.ipynb より 住 宅 価 格 の 中 央 値 緯 度 経度 4.2 学習の方法(教師なし学習) 前ページは可視化の例、住宅価格が位置や人口密度と密接 な関係があること、南の海岸線沿いの特定地域が特に住宅 価格の中央値が高いことがわかる 4.3学習の方法(強化学習) 強化学習は環境における価値を最大化するように、エージェントを学習させる 強化学習では、その時の価値だけではなく 将来価値も含めた報酬を考慮して学習を行う。 どういうことか上記画像を例として簡単に説明すると、短期的には得点が上が る行動をとったとしても、次の行動で敵にやられてしまう行動をとってしまう と、将来的な得点が下がってしまうので、そうならないように学習を行うとい うこと。 環境 エージェント Action 状態、報酬 5. ニューラルネットワークとディープラーニング ニューラルネットワークとは 機械学習の研究課題の一つで、人間の脳内に存在する神経 細胞(ニューロン)の働きから着想を得て作成されたシス テムです。 [注意] 人間の脳の働きはまだまだ解明されていないものがありま す。あくまでも人間の脳の一部の働きから着想を得たもの であるということを意識しておく必要があると考えます。 5. ニューラルネットワークとディープラーニング ディープラーニングとはニューラルネットワークを多層 にしたもの ILSVRC 2012(大規模画像認識の競技会)でディープ ラーニングで圧勝するなど 多数の結果があり、これにより画像認識の方向性を決 定づけたといえる。 ニューラルネットワークとディープラーニングは画像認 識、音声認識、自然言語処理などに力を発揮します。 5. ニューラルネットワークとディープラーニング 入力画像 モデル 2 4 0.4 1.1 0.7 3 5 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 ベクトル 距離が近いか 遠いかで判定 例えば、画像をディープラーニングのモデルでベクトル化し、 このベクトルが近いかどうかで似ている画像があるか等 判定を行う。 6. ディープラーニングがなぜすごいのか 音声・画像認識等で人間を上回るレベルの結果が出てきている  例えば大規模画像認識の競技会(ILSVRC 2015)で人間を上回った結果を出した 画像認識等で人間を上回るということは 「画像関連の事象について、人間が識別困難なものでも認識可能ということを意 味し、例えば、将来的に医学診断で人間よりも効果のある診断ができることを意 味していると考えられます。 これは様々な応用が可能であり、今後よりDeep Learningが重要となっているこ とを意味しています。」 「ILSVRCとは何か?」 より引用 http://qiita.com/taki_tflare/items/40bd1313d85513b4b861 6. ディープラーニングがなぜすごいのか 「ディープラーニングによる画像認識は「目」の技術で あり、生物が目を得た時と同じく、ロボットや機械の世 界でも””カンブリア爆発””的なインパクトになりえる」 「AI白書2017」 p8 より引用 7. 用語についてのまとめ 人工知能 ディープ ラーニング ニューラル ネットワーク 機械学習 8. 人工知能とは何か? 世間の見方 レベル1  単純な制御プログラムを「人工知能」と称している      ごく単純な制御プログラムを搭載しているだけの製品  レベル2 古典的な人工知能      振る舞いのパターンが極めて多彩なもの      例えば掃除ロボット レベル3 機械学習を取り入れた人工知能      検索エンジンに内蔵されていたり、      ビックデータを元に自動的に判断したりするような人工知能 レベル4 ディープラーニングを取り入れた人工知能      機械学習をする際のデータを表すために使われる変数自体を 学習するもの 「人工知能は人間を超えるか」 松尾 豊 著 pp.51-52 参考 8.1 人工知能とは何か? 世間の見方に対する私の考え ・全てにおいて、レベルが高いものが良いというわけで はなく目的に応じて使い分ける必要がある。 ・同じレベルであれば、すべて同じということではな い。必要なタスクによって、適切な技術を選ぶ必要があ る。 ・製品を比較する際に人工知能が使われていますよとい うセールスに惑わされるのではなく、製品の機能を見て 判断する必要がある 9. なぜ機械学習が話題となるほどの進歩を遂げているのか 学習進歩の3つの要因 •計算能力の向上 •大量データの取得が容易になった •情報共有 機械学習へのGPUの適用により、CPU単体に比べ、 10倍以上のパフォーマンスがでるようになった。 学習にCPUで2日かかっていたところ、 GPUを使用すれば5時間程度になる。 上記により試行回数が増えることになり、複数の手法、ハイパーパラメータの試行回数が増えることと なった。これにより進化が進みやすくなった。 参考:  個人で環境を揃えるのであれば、Google Colab(https://colab.research.google.com/)が使えるか試し てみたほうが良い。環境構築がほぼ不要で無料でGPUが利用できる。 もしくは、「Cloud AutoML」(https://cloud.google.com/automl/)を検討に入れるのも良い選択肢と考える。 
 こちらは機械学習の知識がなくても利用できる。 Google、AIツール構築サービス「Cloud AutoML」の画像認識版をβに、自然言語と翻訳もβで追加 http://www.itmedia.co.jp/news/articles/1807/25/news066.htmlhttps://cloud.google.com/automl/ 9.1 計算能力の向上 データセットの重要性が広がり、データセットが大量に公開された。 インターネット、スマートフォンの普及により、公開データが増えた。 上記により機械学習を行う上で、大変重要なデータが増えた。 MNIST http://yann.lecun.com/exdb/mnist/ 手書き文字のデータセット YouTube-8M https://research.google.com/youtube8m/ Googleが公開した800万の動画のデータセット 機械学習を行う際に利用可能なデータセットのまとめ https://github.com/arXivTimes/arXivTimes/tree/master/datasets 9.2 大量データの取得が容易になった arXiv.org:論文投稿サイト 物理、数学、コンピュータ科学等 中心 昔:雑誌による投稿 査読で数ヶ月後に公開 今:arXiv.org 毎日更新 arXiv.orgに投稿されたものが次の日には、実装されそのパ フォーマンスが出るか検証されることもある。 9.3 情報共有(arXiv.org) 問題への対応において今までは、人かルールベース(普通にプログラム)かの2つの 選択肢があったが これからは、人、ルールベース、機械学習の3つを組み合わせて考えたほうが良いと 考える。 10. 最後に ルールベース 問題に対する解決度 問題の複雑度 機械学習 人間 ・単純な条件であれば、ルールベースが一番解決度を上げられる。 ・人のほうが基本的に解決度は高いが、うっかり、体調の問題がある ため間違えることがある。また特定の人への依存への対応も必要であ る。 ・人間が簡単なルールで定義できる問題であれば、ルールベース(普 通にプログラミング)の方が機械学習よりも解決度を上げられる。 ・機械学習では今までのルールベースでは対応が難く、人が行わなけ ればならなかった問題へ対応できる場合がある。 ・ルールベース、機械学習、人の組み合わせでゴールに向けて適切な ものを選んで対応していく必要がある。 (人の解決度が安定しない場合をルールベース、機械学習を適切に組 み合わせ実行するなど) 10. 最後に ディープラーニング入門:Chainer チュートリアル https://tutorials.chainer.org/ja/tutorial.html 機械学習に使われる様々な基礎(数学、確率統計、Pythonなど)が公開されている。 一から始める機械学習(Kaggleで学ぶ機械学習) http://qiita.com/taki_tflare/items/8850ac5ba8b504a171aa このページの続編です。 Best Deep Learning Courses: Updated for 2019 https://blog.floydhub.com/best-deep-learning-courses-updated-for-2019/ オンラインで見れるディープラーニング講義のまとめ ニューラルネットワークと深層学習 http://nnadl-ja.github.io/nnadl_site_ja/index.html ニューラルネットワークの仕組みが知りたい場合はこれをおすすめ 11. 更に勉強したい場合 Machine Learning https://www.coursera.org/learn/machine-learning Andrew Ng 先生による Coursera の機械学習コース 日本語字幕あり 説明がわかりやすく、おすすめする人が多い 機械脳の時代――データサイエンスは戦略・組織・仕事をどう変えるのか? https://www.diamond.co.jp/book/9784478039373.html コマツ、本田技研などの事例が多いです。 後半はどのようにAIを作るのか、AIを作る組織を作るにはどうすればよいか等が書いてあり ます。 データサイエンティスト養成読本 http://gihyo.jp/book/2016/978-4-7741-8360-2 必要な情報がコンパクトに纏まっていておすすめ ゼロから作るDeep Learning――Pythonで学ぶディープラーニングの理論と実装 https://www.oreilly.co.jp/books/9784873117584/ ディープラーニングの原理理解したい場合はこれをおすすめ 11. 更に勉強したい場合 CS231n: Convolutional Neural Networks for Visual Recognition http://cs231n.stanford.edu 画像関連をやりたければこれ スタンフォード大学の講義資料 動画もある CS224n: Natural Language Processing with Deep Learning http://web.stanford.edu/class/cs224n/ 自然言語処理をやりたければこれ スタンフォード大学の講義資料 動画もある new fast.ai course: A Code-First Introduction to Natural Language Processing fast.aiの自然言語処理コース https://www.fast.ai/2019/07/08/fastai-nlp/ UCL course – 2016 https://hadovanhasselt.com/2016/01/12/ucl-course/ 強化学習ならこれ もっと新しいのがあるかも 11.1 更に勉強したい場合(英語文献)

Tag Cloud
×

Modal Header

Modal body