はじめてのAI② ~機械学習をさらに深く学びましょう~
こばばばばんは とぅってぃだよ
昨日のブログは読んでいただけたでしょうか!
AI面白いっすねぇ!
本日は機械学習の詳しいステップに関して書きたいと思います
ニューラルネットワーク?ディープラーニング?どんな関係があるのでしょうか
いってみましょう
- 機械学習ってどうやって出来るん
- データによる「重み付け」
- 機械学習のアルゴリズム、「ニューラルネットワーク」
- ニューラルネットワークの凄いバージョン、ディープラーニング
- ディープラーニングはAIのコアなのです
機械学習ってどうやって出来るん
実際に機械学習がどのようなステップを踏んで行われるのか、解説していきたいと思います。大きく分けて3ステップ!あら簡単!
①学習データの準備
お手本となるデータをひたすらめちゃくちゃ準備します。これの量によって仕様の精度が決まってきますからね!この作業は人がやらなければなりません。膨大なデータをひたすら蓄積させていく。
②機械学習の「モデル」の学習
データに含まれるパターンを、機械学習によって抽出します。コンピュータの頑張りどきです。この時得られたパターンが、モデルです。
③モデルの利用
得られたモデルを実際に使って、分類や予測をしていきます。
あら簡単!
データによる「重み付け」
一つ例を挙げましょう。
身長と体重のデータから、その人が大人か子供かを自動で判断するAIを作るとします。
この時、身長と体重のデータ=判断基準となるデータを「学習データ」と呼び、
大人か子供かのデータ=結果となるデータを「教師データ」と呼びます。
一旦、これまでのITと同様にルールを自分たちで考えてみましょう。単純に身長と体重を足し合わせるか?でも高身長の子供も低身長の大人もいます。デブ子供もアンガールズ田中もいます。そのまま足し合わせてもうまくいかなそうです。
おそらく身長と体重の、それぞれの「重み」を変えることでうまくいくんじゃないでしょうか。つまり、身長×α+体重×β=基準といった形の数式を思い浮かべれば、精度の高いモデルが作れるでしょう。
このαとβが、データによる「重み付け」というものです。
ちょっと見にくいですかね。
左のX1とX2が身長と体重です。
最適な重み付けをしてあげることで、キレイに分類できています。
それぞれのデータにどれくらいの「重み」を付けてあげるか。そして、これをコンピュータにやらせてしまうのが機械学習ということになります。
機械学習のアルゴリズム、「ニューラルネットワーク」
じゃあニューラルネットワークってなんなんだよ!!早く説明しろよ!!
ちなみにアルゴリズムは、算法とかやり方って意味です。読者に優しいとぅってぃ。
人の脳には神経細胞(ニューロン)というものが存在し、我々はこの機能によって様々な情報をもとに判断しています。
例えば火事。「燃えている」、「焦げ臭い」、「熱い」、「火災報知器が鳴っている」と様々な情報をもとにして、我々は初めて「これは火事だ」という風に判断しています。
これにヒントを得たのがニューラルネットワークです。
様々な入力されたデータを、どんな重み付けで足し合わせれば最適なのかを判断します。先程説明した機械学習のステップはまさにニューラルネットワークによるものなのです。
言ってみれば非常に簡単なアルゴリズムなんですね~
「間違いが少なくなるパラメータ(重み付け)」を探してるだけなわけです!
例が単純なので、簡単な判断しか出来ないと勘違いしてしまいそうですがそんなことありませんよ!例えば画像認識。昨日も軽く触れましたが画像は点(ピクセル)の集まりです。
つまり、どのピクセルにどういった重み付けをすれば判断できるか!という風に考えているわけです。
ニューラルネットワークの凄いバージョン、ディープラーニング
身長と体重で大人か子供かを判断するのは非常に単純でした。
でも世の中そんな単純な話ばかりではありませんね。(真理)
入力されたデータに直接重み付けをして、それがそのまま最適なモデルになるとは限りません。
実際に使われているようなAIを想像して頂ければこの事はすぐ分かると思います。
例えば、緯度と経度のデータから街の内側か外側かを判断するAIを作るとしましょう。
内側か外側かって単純に考えて円で境界線になるじゃないですか。でも機械はそんな直感的な判断は出来ません。これまでのような単純な重み付けでは、直線でしかルールが作れないわけです。
ではどうするか。ニューラルネットワークを階層化するのです。
上の図のように、階層化、
簡単に言えば、段階を増やすことでさらに複雑な判断も出来るようにするということです。
最初の重み付けで直線のルールを何個か導きます。でもこれだと間違いが多い。
じゃあ出来た何個かのルールをさらに重み付けしてあげよう。こうすることで、うまく円の形にルールを作っていくことが出来るようになるわけですね。
このように、ニューラルネットワークの階層をどんどん深く、増やしていくことで機械学習はどんどん賢くなっていきます。
そして、3段以上の深い階層を持つニューラルネットワークのことを、
ディープニューラルネットワーク、またはディープラーニングと呼ぶのです。
わぁぁぁぁあすっきりしたねぇええええええそうなんだねぇ!!!!!
ディープラーニングはAIのコアなのです
いろいろな認識技術を複雑に組み合わせてAIスピーカーとかロボットは頑張っているわけですね。
まず音声認識をして、文章理解をして、、、画像認識した上で判断。
それぞれの認識段階にも超複雑なディープラーニングが組み込まれているのでしょう。
莫大なデータをもとにディープラーニングを行えば本当に様々なことがAIによって分かります。
船の動きだけでその船がなにをしているのかとか分かっちゃうらしいですよ。
これからはビッグデータも相まって、我々の消費行動とか生活範囲とかのデータから年齢や性別なども筒抜けになってしまうんでしょうねぇ~。怖いなぁ怖いなぁ(稲川淳二)
まとめます。
機械学習のアルゴリズムの一つ、ニューラルネットワーク。一個一個のニューロンは非常に単純なのです。ただこれを積み重ねる、即ちディープラーニングにすることによって、より複雑なルールが分かるのでした。
以上!AIおしまいです!
結構面白かったでしょ?笑
またネタ切れなので更新止まったらごめんなさいね。
読んでくださいね!!
ここまで読んでくれた方ありがとうございました!!
きょうのアイデア
①ファクト:花粉辛い。
②アイデア:花粉って空気中に漂ってるんだから、うまくデータをMRでスマートグラスに反映させれば、花粉が可視化できそう。うまく避けて通れる的な。他にも、花粉の多寡を判断して、なるべく花粉避けて通れるルートを教えてくれるAIとか!
③具体化:花粉の量的なデータしか気象庁は出さないのかな?でも測定しようと思えばできそう。スマートグラスは普及が遠いと思うので、まずはスマホのARアプリとかでも良いかも知れない。花粉避けルートはわりかし簡単にできそうだけどな。雨雲レーダーとかと同じノリで。