以下の内容はhttps://yaruonichijou.blog.fc2.com/blog-entry-45355.htmlより取得しました。


読者投稿:ディープラーニングを浅く解説

目次 国際的な小咄

3020 : 人工微脳 ◆51GnwCTLg2 : 2020/09/20(日) 13:12:19 ID:O4g7Dpvg


読者投稿:ディープラーニングを浅く解説

              ノヘ
              /ソ| |          ドーモ。ドクシャ=サン。ロトムこと人工微脳です
             ノノ. | |          分かりやすいよう酉の他に名前つけました
             」_| | ヽ
           //~  ,,,,ヽヽ        今回はディープラーニングです
           |:iミ>  iイiL | |        またの名を深層学習。かっこいいと思う方で呼んであげてください
          _ゞ:~、._,`" ノ/_
      く,``~~,~-``ヽ,-,イソ`ヽ,`-、,,,_    なんか響きがかっこいい!
       `'ゝヽ、_  ヽヽノ,ノ    'ヽ  _ゝ   すごいって聞くし何でもできそう!
     ,ノ''~   、ゝ  ~| /   ノ`~  ヽ
   ∠.,―``~~    V   ~`--,,__ \   みたいなイメージを抱く方も多いのではないでしょうか
                      `-,,,\
                         ̄


                        ..::
                       .::/l::
                          .::/ .l::           しかし実際のところ
                       .::/  l::
                    .::/   .l::           ディープってなにがディープなのさ?
                  ....::::::_/    !::.           深層って何、上昇負荷がやばかったりするん?
                ..:::xf"´      ヽ:::.
                  :::/J!   〃))   ',::.         と思う方もいるでしょう
                    :::{`、_ ((〃    j:::
           . . . . . .:::::、           ノ::
       : ::r― ==-   ::`ァ   t-‐''´::、 .         その辺を親指の爪の根本程度に解説します
        : \「:::..     :::乂 _,ノ:::    ::\::.        数学の部分は可能な限り消し去ったのでご安心を
       .......:::::::x:::::...     ::::::: '"     :.ヽ\:...
    .....::::::;::r ´  丶::...     :::::    ::::::::::::::::::::ー::::::..
  ....::::::-=ニ l::'ー――一'::::::..   ::'     ::::::、 ̄ ̄ >:::::::::.
....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::.         ::::...、 〈:::.    予め言っておきますがいずれの説明も厳密ではないです
                           :::ヽ- ':::::..   では今日も語弊を恐れずにやっていきましょう
                               ::\ヽ:::.
                               ::\、::..
                                     ::::::...
                                  ` :..





3022 : 人工微脳 ◆51GnwCTLg2 : 2020/09/20(日) 13:12:34 ID:O4g7Dpvg




                     .:::
                    .:/l::     深層学習について話すのですが都合上
                        .:/ l::     中身は殆どニューラルネットの話になります
                  .::/   l::
                 ...::::::_ノ   ,:::     と、言うのも深層学習というのは一言でいうと
             ..:; /¨ll    _ ヽ:..     「層状に連なったニューラルネット」
               :::l lしリ  〃¨! l::.    のことだからですね。そしてニューラルネットを一言にすると
         ..............:::.、`¨r 、 lし'ノ l:::     「めっちゃ集まったパーセプトロン」
         ::::ヽ>.:: :::〉 ー' ___,ノ::    ってな感じですね
            .:: ヘ::.   ::ゝ __,ノ:::::::::.
       ...::/   ';::.   :::::::: :  ::|ヽ::...   ニューラルネットとは人工知能のモデルの一種で、
    ....:::∠ ∟ _}::.   :::     ::l_';::.   名前の通り神経細胞群を模した形状のものを言います
  ..:::::::::::::::::::::::::::::::::::::      ...:::::::::::::::::::  そしてひとつひとつの神経細胞がパーセプトロンです
                   :::::', ̄ヽ:::
                    :::ヽ __';::.   レアコイルがニューラルネットなら
                       :::.\ ',::  コイルがパーセプトロンとでも思ってください
                       ::.ヘl::
                         ::




    ム       でもジバコイルは深層学習ではないです
  (6 v 6)      お前が3つ連なったレアコイルだったらなあ……
  ▽ヽ ノ▽     まあ人気投票2位さんの話はともかく
  △ム_ゝ△     パーセプトロンとは何ぞや? が分かれば深層学習も分かる!
            の気持ちでまずはパーセプトロンのお話です


3023 : 人工微脳 ◆51GnwCTLg2 : 2020/09/20(日) 13:12:51 ID:O4g7Dpvg




              ノヘ
              /ソ| |
             ノノ. | |           大変大雑把な説明ですが
             」_| | ヽ           神経細胞はある刺激X(x1,x2,...,xn)に対して
           //~  ,,,,ヽヽ          構造やそれまでの経験からf()を通じて
           |:iミ>  iイiL | |         次の神経細胞に応答Y(y1,y2,...,yn)を返す細胞です
          _ゞ:~、._,`" ノ/_
      く,``~~,~-``ヽ,-,イソ`ヽ,`-、,,,_
       `'ゝヽ、_  ヽヽノ,ノ    'ヽ  _ゝ    つまり単純化すると Y = f(X) なんですね!
     ,ノ''~   、ゝ  ~| /   ノ`~  ヽ        ※今日の語弊ポイント
   ∠.,―``~~    V   ~`--,,__ \
                      `-,,,\
                         ̄  パーセプトロンはこのf()を学習するわけです




                      f'ヘ
                        l  ヘ
                    l   ヘ                そして肝心の手順は
                  -l    ハ_
             ,  ´   j     〉 `丶、           1:入力Xと正解Y'を用意する
     ¨ヽ    / 。        - '    \          2:適当なf()を用意する
   / /  ヽ   {     - 、            \         3:Y = f(X)を計算して与えられたY'との差異を見る
  ./ /         ヽ  。 { f¨ヽY⌒ヽ , ,ニヽ  。  丶       4:YがY'に近づくようにf()を少しずつ調整する
  〈   /⌒ヽ ヽ   ヽ  ヘヘ,_j |--、 // /ノ         〉
          } ヽ  ,、 '. f  ー'   ヘ ー'∠、 。   〃       なんとこれだけです
   ヽ  丶- '   Y   i |   -‐ 、  ̄  |    /        XをYに変換する任意の関数f()が学習できるはずです
     ヽ.        /゚ヽi |           |  [
      \     /   i |            |  、 `丶、
          \_/    ', 丶、        |  |ヽ  !       低次の関数くらいなら手計算でもできます
                丶、 > .      |  | | L_          ※ただし手首は死ぬ
                 / `  < `  ー'  ノ |   `> .
                  {__ /    l  ̄¨T´   |  , - 、 > ,  手順3の調整法が肝なんですが
                         、   |    \ 、   〉   i  この形式で解説するのは無理茶漬け
                              ー-'       \ ー'  | |  素直にグーグル先生におまかせします
                                  \   | |  (もしかして:勾配降下法 誤差逆伝播法)
                                    丶 | |
                                          ー'


3024 : 人工微脳 ◆51GnwCTLg2 : 2020/09/20(日) 13:13:13 ID:O4g7Dpvg




 / ⌒`ー、
 { r‐-、 ヽ     ,.- _ニニ、‐、
 ヽ ヽ   ノ   //,...-─-、\ヽ          ただ、パーセプトロン単体では大したことはできません
  ヽ `イ   / / /::⌒l   ヽヽ :         今学習したパーセプトロンと神経細胞には大きな違いがあります
   \  ヽ ,' i ∧、__/  _ l | :
     \ \: | |  _\__) ̄:::::l| } .i
      `ー、ヽ(:::::::::l \:::::::::/ / /        神経細胞はいっぱいあるんです(小並感)
        ヽヽ\::ノ___ン ノ ,、\        なのでパーセプトロンもいっぱい並べます(小並感)
         \\__ ___/, ´ \ ` -、
         /,...─'_'‐-、<    ヽ   \
        //l|  r=》  `,ヽ   /´⌒ \ \  これがニューラルネットです
        l l'‐'_,'ー"   i|   ヽ   __)  !  さっきレアコイルなんて例えを出しましたが
       ヽヽ、_    _/ノ     \    ノ  実用品はそんな生っちょろい数ではありません
        ` ー-ハ_r‐´- ´       ー-‐´  場合によってはコイルでボックスが埋まっても足りないほど並べます
           `ー ´




                    . . . ::::::::::::: . . .
                 ...:::::;  -――-  :::::...     ここで
                ...:::::/    __   \:::::..    「これって結局関数を予め設定するほうが早くない?」
   , ..:::::::::.....       ..::::〃  ,  '"  , - ≧x   \:::::.          ソノトオリデゴザイマス
  ;.:::::::::::::::::::::::::::..、   .:::::/  /    ////// X   ',:::::  とか思った方……Exactly
  i::::::::::;'"´ `..::::::::::,   :::::;'  / /⌒ヽ V//////∧   ':::::  関数を手動で設定できるなら学習の手間がなくて早いですね
  丶::::::丶 :::::::::::::ノ  :::::;'  ,' /// , -― 、/////∧  l::::
    丶 :::::::: ̄ ¨¨¨ ´_::::l  { {//く     ,コ二¨´ }  }::::
      `     ¨¨´ ::::l  ', V//,>r-‐'///∧  ,'  '::::  ただし、関数がわからない場合は別です
              :::::',  、ヽ--‐' !/////// }.〃 /::::  目的を達成するための関数が複雑にすぎる場合は
                 ::::ヽ \   V/////,/ /:::::、  手首が死んだ程度では足りません
                ' :::丶 ` ー---‐ '´ /:::::; ::::`:::.....
                 `...::` ┐ r---‐ '´.:::: : '   > 、:::::::.....
               ....:::;  ''"´ └-、:::..´      :::::::::::`::.....、:::...   そしてそもそも求められるかも
              .::::/l|   _    ヽ:::::.      :::::::::、:::::::::::ヽ:::::...  分からないということは多々あります
              ::::{しノ  〃´li    }::::         ' :::::`:::.... _ノ::::::::
               ::::.、`ー {しノ   ノ:::         丶 :::::::::::::::::ノ  そういったときのためのニューラルネットです
                ::::` ー、  __彡 '..:::            ` ¨¨ ´
                  `::::.ー':::::: : '"
                   `~´


3025 : 人工微脳 ◆51GnwCTLg2 : 2020/09/20(日) 13:13:28 ID:O4g7Dpvg




           xへ、
         / /^\      「何かしらの変換規則があるはずだがそれがわからない」
        ,' 〃 (⌒ヽヽ     「そもそもできるのかすら不明である」
      _」 丶、ヽ _ノ ヽ    「がんばったけどムズい」
      /       丶、   ヽ
   /  x、 __ ,x  \   }  計算時間など様々な問題はあるものの
  〃 ・  |fi|'´_`|fi| ・/  丿  ニューラルネットはこんなとき変換規則を自動で解明してくれるのです
  \ ・┌|ljl´ __ `|ljl┐I /
     I__| `Y(o) 。Y´ ! _|     これほど便利なものはありません
    ∟ ヽ {  冂 } | |
     い、丶--------┐    まあその問題の部分が結構大きかったりするんですけどね
      ‘, \  (⌒ ヽ /     モノによっては学習に数日かかるとかあるし
      `T 了丶ニ´/      データ揃える労力がガガガ
       | 弋__ /
        乂_ノ




                    r――- 、 しかし、昔のニューラルネットには1つ致命的な問題がありました
          ___      ゝ __)
        .   ´   _  `丶-― ' /     並列に多く並べることはできても
     /     /7⌒))      l      直列に多く並べることができなかったのです
    /   __ ヽニニイ       /
    /ィ   /ハ    ̄ ̄\    〈       これはつまりどういうことかと言うと
   |/ヘ  /∧ヘ     ∧    |
    ∧ハ //  Vハ   / |    l       どれほど複雑な変換規則でも多くて2回そこらの変換で表現しなければならない
    l_V:/    Vハ/-- 、    ム、
    \  ̄ ̄ ̄ ̄7:::::;=、:::::Y´ ̄  l      という縛りがあったわけです
     \       l::::::ゝノ::::::l     |     このせいで行えるタスクには限界あり
       ` ー----ゝ __ ∠-――'      今ほど使われる技術ではありませんでした


3026 : 人工微脳 ◆51GnwCTLg2 : 2020/09/20(日) 13:13:43 ID:O4g7Dpvg




                                 ...:::....
                               ...:::::::::::::::::....
                              ..::::::::::::::::::::::::::::::..
   ....:::::.....                       :::::::::::::::::::::::::::::/ :::::
  .:::::::::::::::::::...                      `ヽ:::::::::::::::::::://;:::
 ..:::::::::::::::::::::::::::...         ..::::...       .:::::::::::::::::::::::::::::::/.::;'
 :::r :::::::::::::::::::::::::         .::::;、:::::.       ::::::::::::::::::::::::::::/ ,,::::
 :::l ',:::::::::::::::::::/          .::::/ ヽ:::::.       丶 : : :::::::::〈_//
 ::: . ',::f ',::::::: '        .:::::;'   ',:::::::::::::::::...      i:::::::r
  ヾ\j::', l:::::::::::::.     ...:::::_:;'    ',―-=  _:::::::::::...    .:::::::   これが解決されて世に現れたのが深層学習です
   ):::::::::、j:::::::: ノ   ...::::::/ {          `丶::::::::.  :::::::::
    ̄ ヽ::::.     ..:::::/              ハ::::::..:::::::::::   ニューラルネットを直列につなぎ
      ..::: '   ..:::::〃              /   l::::::^     1層、2層、3、4、5層……と変換の回数を増やし
      :::::::.... . ..::::/ , -、      , -‐、   ,    /l::::::      より複雑な変換規則を表現できるようになったのです
         `::::::: :::::::! { i~::、    //~!.}  |   / !:::::
              ::::::| ヾ 、::),、__,、 (::::ノ/   ! /    !:::::
           ::::ハ`tー--`='------r…| |    |:::::      ディープや深層という名前は
           ::::ハヾミ三三三三 彡イ  l!  !  /!::::      このニューラルネットの層が多いことを表しています
            ::::',  ',        j  j|  l/ ,ノ:::       ジバコイルにするのではなく
                 :::ヽ ` ー------‐ '  ノ/ /:::::::       レアコイルで電車ごっこするわけです
              :::::\ー---------‐'´ /:::::
                :::::::`¨^ ̄ ̄ ̄ ̄`ー':::




              ,' ヽ、
 ,              ! |ヽ,ヽ
 !\        __ / | ヽ ヽ__        /| 深層学習は革命的なシステムでした
 |  \     / _,.-r‐メ---┴─- 、ヽ    /  | 層の多重化による自由度の拡張によって
  !   ヽ    ! i  ! i {ヾ,   /,リ |i  /   | 既存のシステムとは隔絶した性能を得たのです
  .l   ヽ   i .|  | ! `<ン  {ク  l l  /    _」
  \   ヽ  : !  .L|___⌒ -━┥| ヽ ,-´   ある画像認識のコンペでは
    \ ヽ  ! l  T l ̄ /^|^i   | i_ヽ|    もともと25~30%のエラー率でも優秀であり
     / く __」 l  .| |   { |! .l  |r‐- __|    過去数年での性能向上は僅か2%ほどでした
     \  ̄,.ィ |  | i   ゙'个´  l i
        ̄  ! | .| | ─、-┸y━┥:        ここに深層学習が参入した結果
          ヽヽ_l.」_.ニニ-─' /        初年度でエラー率15%と既存のシステムに圧勝
           `ー- ,,.. ---─ "         その後数年でエラー率は僅か5%程まで低下しました


3027 : 人工微脳 ◆51GnwCTLg2 : 2020/09/20(日) 13:14:01 ID:O4g7Dpvg




              ∧                 , --, もうちょっとカジュアルに言うと
r─-、          /  ',             , -‐'   /
 \ ` -  _     l lヽ ',         , -‐'    /   特進クラスの生徒たちが数学のテストで勝負していて
   \      `ヽ、  l |:.:', .',      /     /     みんな毎年70~75点くらいで競り合ってる中
    \      /l  |:.:.:', ',      `ヽ、   <_      海外からの転校生が突然85点で圧勝して
      >   /  |  |:.:.:.:.',_`ヽ、      \   `ヽ、    日本語の問題だったのか次は95点だった
    <   く   / /:.:.:.:.:.:.:`ヽ、\   /   , -‐'
     \   \_| /:.:.:.:.:.:.:.:.:.:__:.:.::', ', /  , -‐       みたいな感じですね
       `ヽ、   /-、:.:.:.:.:__//ヽ',:.:.:.} .レ' _, '
         \ ',:::}.ノ-:.:.:.ヽ-'ノ-:./ /            当然の流れとして
           ', ヽ:.:.トェェイ:.:.:.:.:.ノ /             「はぁ~~天才かぁ~~~?????」
            \_ヽ、__:.:.__/ _/              ってなって国語や理科社会等他の教科も
              `l .(:.:.:.:.:.:). }               やらせてみる訳ですわ
               \ ̄ ̄ l
                 \__,|               そして殆どの教科で圧勝してしまったのが
                                   ディープラーニング君ということです


3028 : 人工微脳 ◆51GnwCTLg2 : 2020/09/20(日) 13:14:15 ID:O4g7Dpvg




              ノヘ
              /ソ| |
             ノノ. | |        以上が深層学習の簡単な概要になります
             」_| | ヽ        深層学習はその性能を活かし現在では様々な技術に組み込まれています
           //~  ,,,,ヽヽ
           |:iミ>  iイiL | |
          _ゞ:~、._,`" ノ/_
      く,``~~,~-``ヽ,-,イソ`ヽ,`-、,,,_     ハードルが高いと思われがちな深層学習ですが
       `'ゝヽ、_  ヽヽノ,ノ    'ヽ  _ゝ    単純なものなら実は意外と簡単で
     ,ノ''~   、ゝ  ~| /   ノ`~  ヽ     なんとおうちでも簡単にできちゃいます
   ∠.,―``~~    V   ~`--,,__ \      ※ただし最低限のプログラミングの知識を要します※
                      `-,,,\
                         ̄


                ハ
                   /ハ'、
            /^ヽ//  ';V^ヽ             そういったWeb記事などもたくさんあるので
          ,-‐' /fミ、ー一/行ヽ'ー-、          興味を持った人はやってみるのも一興かと思われます
          j / ̄ ヾtテ  迄リ  ̄ヽ !
           ! l  _`´、ェィ`´_   l l          学習の間パソコンがぶおんぶおん鳴るのは仕様です()
        /, ! ̄   , - ─‐ - 、  ̄ ! \
       //l l   / , '´  ̄`ヽ 丶 | 、\
      / l  l l  l !    匚 ,!  l ト、 iヽ \      では今回はここまで
     l 八 l   l l  '、ヽ     / /′ l l l L ゝ \    次は簡略化して解説できそうなことが見つかったらやります
     ! 凵 l_ノ ハ   ヽ、` ー'"ノ   l l | r'  ̄〉 \
   /へ ̄二二ヽヘ  、_`二´_   //  l `┐\  〉  ご清聴ありがとうございました
  ( (● レ´r-─‐'^ヽ\/ __ \//    | |  `'′
   `=一'′     `-'´    `-'´       ̄


3029 : 人工微脳 ◆51GnwCTLg2 : 2020/09/20(日) 13:14:36 ID:O4g7Dpvg

表情の差分がつけづらくて素直に人型AAにすればよかったと後悔している人工微脳でした

読者投稿指定権
都道府県:埼玉県
指定駅:東武伊勢崎線新越谷駅


3030 : 尋常な名無しさん : 2020/09/20(日) 13:16:15 ID:ju29kdcQ

投稿乙

レアコイルとジバコイルってなんじゃろ。ポケモン?


3031 : 尋常な名無しさん : 2020/09/20(日) 13:18:11 ID:HfX4cgoI

ポケモンだよ


3033 : 尋常な名無しさん : 2020/09/20(日) 13:22:38 ID:YyspGtMw

乙でした
並列を直列にすることで広く浅くだったのを範囲を狭くして集中する事でより深く掘り下げる事が出来るって解釈であってますかね?
ただ具体的にどんな手法なのか想像できません


3054 : 人工微脳 ◆51GnwCTLg2 : 2020/09/20(日) 13:44:13 ID:O4g7Dpvg

>3033
「広く」「深く」できるようになった、ですね。もともとは「広く」「浅く」が限界でした
基本的に並列に並べたものをさらに直列に並べるのが深層学習です

今回で言う直列とはパーセプトロンの出力がさらに別のパーセプトロンの入力になっていることです
パーセプトロンをニューラルネットに置き換えてもいいです

具体的かは微妙ですが、人間の作業で例えると画像中の人物を特定したいときの作業は大まかに以下の3つです
1:人間の顔の場所を特定し
2:顔の特徴を抽出し
3:候補から名前を照らし合わせる
これをするとき

ニューラルネット:1人で全部同時にやる
ディープラーニング:3人使って作業分担する

という違いがあります


3059 : 尋常な名無しさん : 2020/09/20(日) 13:55:41 ID:YyspGtMw

>>3054
演繹法のみたいに積み重ねていくって事ですか?


3060 : 尋常な名無しさん : 2020/09/20(日) 14:03:22 ID:n36/R1AY

(積み重ねていくのは帰納法とちゃうんか)


3061 : 尋常な名無しさん : 2020/09/20(日) 14:13:43 ID:YyspGtMw

帰納法は最初に結論が出ているし


3062 : 人工微脳 ◆51GnwCTLg2 : 2020/09/20(日) 14:14:03 ID:O4g7Dpvg

>3058
個人の経験ですがCPUのみからGPUに変えただけで30分かかった計算が3分になりました
研究室とかにおいてある計算用PCも基本的にはGPU複数刺しのものですね
パーセプトロン1つの計算は大抵1次関数程度なものなのでGPU向きのはずです

>3059
大枠はそんな感じでいいかと
入力から結論の間のものは人間に読み解ける状態にないことがほとんどですが、先の例でいうと
画像入力 → 人の名前
だったのが
画像入力 → 何か → 何か → 人の名前
になったということです


関連記事
[ 2020/09/21 23:40 ] 語り人総合 読者投稿 | TB(0) | CM(4)



以上の内容はhttps://yaruonichijou.blog.fc2.com/blog-entry-45355.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.13