それでは､ エキサイティングなチュートリアルをどうぞ｡
ディープラーニングの講座へようこそ｡
今日は､ 「ニューラルネットワークはどのように機能するのか？
今､ 私たちは多くの土台を築きました｡
これまで､ ニューラルネットワークがどのような構造で､ どのような要素で構成され､ どのような機能を持つかまでお話ししてきました｡
そして今日は､ 新しいニューラルネットワークの応用例について､ 実際に見てみましょう｡
そして､ 実際にその適用プロセスを段階的に進めていくことで､ 何が起こっているのかがわかるようになっています｡
では､ 見てみましょう｡
どのような例を挙げるのでしょうか｡
今回は､ 財産評価についてご紹介します｡
そこで､ ある特性に関するいくつかのパラメータを取り込み､ それを値付けするニューラルネットワークを見ていきます｡
ここで､ 今日のチュートリアルにはちょっとした注意点があります｡ それは､ 実際にネットワークをトレーニングするわけではないということです｡
ですから､ ニューラルネットワークで非常に重要なのは､ トレーニングすることです｡
そして､ このセクションの次のチュートリアルでそれを見ていくことになります｡
とりあえず､ 実際のアプリケーションに焦点を当てます｡
そこで､ すでにトレーニングされたように見せかけたニューラルネットワークを使用することで､
トレーニングに煩わされることなく､ アプリケーション側に集中することができます｡
そして､ すでに目指す最終目標が決まっているときに､ トレーニングをかいつまんで行います｡
いい感じ？
わかりました｡
早速､ 飛び込んでみましょう｡
では､ いくつかの入力パラメータがあるとしましょうか｡
そこで､ 物件に関するパラメータが4つあるとします｡
面積は平方フィートで表示されます｡
寝室数､ 最寄りの都市までの距離とマイル数､ 築年数などがあります｡
そして､ これら4つのすべてが､ 入力層を構成することになるのです｡
もちろん､ 物件の価格を決めるパラメータはもっとたくさんあるのだろう｡
しかし､ 簡単のために､ 今はこの4つだけを非常に基本的な形で見ていくことにします｡
ニューラルネットワークは､ 入力層と出力層しかないので､ 隠れ層はありません｡
そして出力層は､ 私たちが予測する価格です｡
この形式では､ 入力変数がシナプスによって重み付けされ､ 出力層で計算､ つまり基本的に価格が計算されて価格が得られます｡
そして､ 例えば､ 価格は､ すべての入力の加重和として単純に計算することができます｡
ここでも､ 今使っているような関数や､ 以前使っていた活性化関数など､
ほとんどすべての関数を使うことができます｡
ロジスティック回帰を使ってもいいし､ 二乗関数を使ってもいい｡
ここに来れば､ 何でもできる｡
でも､ 要は一定の出力が得られるということです｡
さらに言えば､ 現存する機械学習アルゴリズムのほとんどがこの形式で表現できる｡
これは基本的に､ その変数をどう扱うかを図式化したものです｡
計算式のあり方を変えることで､ これまで話してきた機械学習のアルゴリズムのかなり多くを実現し､
このような形にすることができるのです｡
このことは､ 新しいニューラルネットワークがいかに強力かを示しています｡ 隠れ層がなくても､ 私たちはすでに､
他のほとんどの機械学習アルゴリズムで機能する表現を持っているのです｡
しかし､ ニューラルネットワークには､ 柔軟性とパワーを与えてくれる特別な利点があり､
それが精度を高める要因となっています｡
そしてその力こそが､ 隠し味となるレイヤーなのです｡
そして､ そこに行く｡
それが私たちの隠し味です｡
私たちはそれを追加しました｡ そして今度は､ その隠されたレイヤーがどのように私たちに余分な力を与えてくれるのかを理解することになります｡
そして実際に､ そのために､ 例を挙げて説明します｡
このニューラルネットワークはすでに訓練されているので､ あとはそれを接続するだけです｡
ここでは､ プロパティを入力することを想像して､ ニューラルネットワークがどのように入力変数を処理し､
隠れ層を計算し､ 出力層を計算するのかを順を追って説明します｡
では､ このまま行ってみましょう｡
盛り上がりそうですね｡
わかりました｡
左側に4つの変数がありますが､ まず隠れ層の一番上のニューロンから始めましょう｡
さて､ 以前のチュートリアルで見たように､ 入力層からのすべてのニューロンは､
それぞれ隠れ層の一番上のニューロンとシナプスを結んでいます｡
そして､ そのシナプスには重みがあります｡
ここで､ いくつかの重みがゼロでない値を持つことに同意しよう｡
基本的にすべての入力が有効かどうかは分からないので､ 重みの中には0になるものもある｡
すべての入力は､ すべてのニューロンにとって重要である｡
入力が重要でない場合もあるでしょう｡
そして､ ここでは×1で2つの例を見ることができます｡
次の3つは､ その神経細胞にとって､ 面積と距離とマイルが重要で､ 寝室と年齢は重要でないことです｡
そして､ ちょっと考えてみましょう｡
なぜ？
それはどのような場合でしょうか｡
なぜ､ ある神経細胞が面積や距離と連動するのでしょうか？
それは何を意味するのでしょうか？
まあ､ それは通常､ 都会から離れれば離れるほど､ 不動産は安くなり､
したがって物件の坪数も大きくなる､ ということかもしれません｡
そうですね｡
だから､ 同じ値段で､ より大きなものが手に入るのです｡
都会から離れれば離れるほど財産､ それが普通でしょう？
なるほどね｡
そしておそらく､ この神経細胞は､ 具体的に見ると､ まるでスナイパーのようなことをしているのです｡
都心からそれほど離れていない､ 広い面積を持つエリアの物件を探しています｡
つまり､ 都市からの距離の割には､ 不公平な面積を持っているわけです｡
そうですね｡
つまり､ 異常なものは､ 平均よりも高いということですね｡
だから､ かなり近いところにあるのですが､ 同じ距離の他のものと比べても大きいんです｡
そのため､ そのニューロンは､ ここでも推測ですが､ レーザーでその特定の性質を選んで活性化し､
その結果､ 活性化関数が活性化するのかもしれません｡
一定の条件を満たしたときだけ起動する｡
それはね､ プローブの距離と面積､ 街までの距離と敷地の広さ｡
そして､ 自分自身の内部で計算を行い､ その2つを合成するのです｡
そして､ ある種のテロとそれが発火するとすぐに､ 出力層での価格に寄与する｡
したがって､ この神経細胞は､ その特定のことに集中しているため､ 物件の寝室や築年数などにはあまり関心がないのです｡
これがニューラルネットワークの力です｡ このようなニューロンをたくさん持っているので､ 他のニューロンはどのように機能するのか､
先ほど見てみましょう｡
しかし､ 私がここで同意したかったのは､ イメージを乱さないために､ 整っていないシナプスのためにこれらの線を引くこともやめようということです｡
それだけに､ 描かないわけにはいかない｡
だから､ そういうのも捨てちゃおうよ｡
そうすれば､ 正確に知ることができます｡
つまり､ この神経細胞は､ 面積と都市までの距離に着目しているのです｡
わかりました｡
では､ そのことに合意した以上､ 次に進みましょう｡
ここでは､ 真ん中の1枚を取り上げましょう｡
このニューロンには､ 3つのパラメータが入力されています｡
そこで､ 面積､ 寝室､ 築年数を把握しました｡
では､ ここにある理由は何だろう？
もう一度､ この神経細胞の思考はどうなっているのか､ 直感的に理解することを試みましょう｡
なぜ､ この3つのパラメータを選んでいるのでしょうか？
それは何でしょう？
データで見つかったようなヒットは何があるのでしょうか？
そうですね｡
つまり､ これはすでにトレーニングされたデータセットであることがわかります｡
トレーニングはかなり前に行われたもので､ 1日前とか､ 誰かがすでにこのデータをトレーニングしていたとか｡
この神経細胞は､ 何千もの特性の例を通じて､ 面積と寝室と年齢の組み合わせが重要であることを発見したのです｡
なぜ､ そうなるのでしょうか？
例えば､ このニューラルネットワークが学習した郊外の特定の都市では､ おそらく2人以上の子供を持つ家族が多く､
寝室がたくさんある大きな物件を探していて､ しかも新しい物件であることが予想されます｡
そうですね､ あの辺りは古い物件ではなく､ 大きな物件が多いので､
古い物件が多いのですが､ 現代的な家族が多く､
社会人口動態が変化したのか､ 若い人向けの雇用や仕事が増えたのか､
人口動態が変化したような気がします｡
そして､ 今は若いカップルや若いファミリーが物件を探していますが､ 彼らは新しい物件を好むので､ 築年数は低くしてほしいということです｡
したがって､ このニューラルネットワークが受けた訓練から､ 面積が広く､ 寝室がたくさんある物件では､
両親と最初の子供のために少なくとも3つの寝室が必要であることがわかります｡
2人目の子供には､ 少なくとも3つのベッドルーム､ 多分ゲストルームがある場合､ 高い面積とベッドルームがたくさんある新しいプロパティは､
その市場で貴重であることを評価されています｡
だから､ その神経細胞はそれを拾ってしまったのです｡
それは､ よし､ じゃあ､ これは私が探しているものだ､ とわかるのです｡
街とマイルの距離はどこでもいい､ 面積が広くてベッドルームがたくさんあればいい､
その条件を満たしたとたんにニューロンが発火するんです｡
この3つのパラメータを組み合わせることで､
ニューラルネットワークの力が発揮されるのです｡
それらを組み合わせて新しい属性にするため､ より精度が高くなるのです｡
だから､ その神経細胞がどう動くか､ ということになる｡
そして､ もうひとつ見てみましょう｡
一番下のものを見てみましょう｡
例えば､ このニューロンは1つのパラメータだけを拾っている可能性さえある｡
年齢だけ拾って､ 他は拾わなかったのかもしれない｡
そして､ どうしてそうなったのか｡
ご存知のように､ 古い物件は使い古されているため､ 価値が下がるのが普通です｡
おそらく建物が古くて､ いろいろとボロボロになっているのだろう､ もっとメンテナンスが必要なのだろう｡
だから､ 不動産の価格という意味では値下がりする｡ 一方､ 新築のビルなら新築だから高くなるのだが､
おそらくはそうだろう｡
築年数が一定以上であれば､ 歴史的建造物であることを示す可能性があります｡
例えば､ 築100年未満の物件であれば､ 古ければ古いほど価値は低くなります｡
しかし､ 築100年を飛び越えた途端､ 突然､ 歴史的建造物になるのです｡
なぜなら､ ここは数百年前に人が住んでいた物件だからです｡
ストーリーを伝えてくれる｡
これだけの歴史があるんですからね｡
そして､ それが好きな人もいれば､ それを大切にする人もいる｡
実際､ 多くの人がそれを望み､ その物件に住むことを誇りに思うでしょうし､ 特に社会経済的地位の高い層では､
友人に見せびらかしたりすることでしょう｡
そのため､ 築100年以上の物件は歴史的建造物とみなされる可能性があります｡
そのため､ この神経細胞は､ 築100年を超える物件を見つけるとすぐに起動し､ 全体の価格に貢献することになるのです｡
そうでなければ､ 100年未満のものであれば､ 動作すらしませんしね｡
そして､ これはRectifier機能が適用された良い例です｡
ここでは､ ある時点までは非常にゼロのようなもので､ その後100歳とし､ 100歳までとします｡
古くなればなるほど値が高くなり､ この神経細胞の全体価格への貢献度が高くなる｡
これは､ この整流器機能の動作を示す非常にシンプルな例で､ まさに素晴らしいものです｡
そうそう､ そうなんです｡
それがこのニューロンかもしれない｡
ましてや､ ニューラルネットワークは､ 自分たちでは思いつかないようなことまで拾っていたかもしれません｡
そうですね｡
例えば､ ベッドルーム＋距離｡
街は､ もしかしたらそれが合わさって何とか値段に貢献しているのかもしれませんね｡
他のニューロンほど強くなく､ 貢献しているのかもしれませんが､ それでも貢献しているのか､ それとも価格を下げているのか｡
また､ そのようなケースもあり得ますし､ その他のことも考えられます｡
そして､ ある神経細胞は､ これら4つのパラメーターの組み合わせのすべてを拾ったのかもしれません｡
このように､ ニューロン､ つまり隠れ層の状況によって､ ニューラルネットワークの柔軟性が増し､
ニューラルネットワークが非常に特殊なものを探すことができるようになるのです｡
そして､ 組み合わせることで､ そこにパワーが生まれる｡
アリの例と同じですね｡
アリが一匹で蟻塚を作れないのと同じです｡
でも､ 1000人､ 10万人と増えていくと､ 一緒に蟻塚を作ることができるんです｡
そして､ それがこの状況です｡
この神経細胞は1つ1つは単独では価格を予測できないが､ 一緒になると超能力を発揮し､
価格を予測するのである｡
そして､ 適切にトレーニングされ､ 適切にセットアップされれば､ かなり正確な仕事ができるようになります｡
そして､ その活用方法を理解することが､ このコースの目的なのです｡
これでよしとしよう｡
以上､ ニューラルネットワークが実際にどのように機能するのか､ 順を追って説明しました｡
今日のチュートリアルを楽しんでいただけたら幸いです｡ 次回お会いするのが楽しみです｡
それまでは､ ディープラーニングを楽しんでください｡