はい、こんにちは。
最近話題の機械学習についてちょっと調べてみたので、アウトプットします。
機械学習とは?
機械学習とは、文字通り人間が学ぶ簿と同様に機会自身が訓練データやビックデータを解析して学習していくことです。画像の解析や音声の認識、会話分析、統計解析、未来予測などを高い精度で行う目的で開発されました。
なるほど・・・近年データを集めることの大切さや統計学が話題になったりしていたのだけれど、全ては機械学習のためだったのかと腑に落ちました。機械学習の勉強をしていく上で数学は欠かせない要素になってきますね。
機械学習の特徴
機械学習の特徴とはどんなものなのでしょう?ここでクイズです。
下記の写真は何でしょうか?
犬?猫?キツネ?なんでしょう?
これを犬も猫もキツネも知らない人に説明するとするならば、何か特徴を教えてあげる必要がありますよね。例えば、耳があって、鼻があって・・・と考えていくと、犬も猫も非常に似ていることに気づきますよね・・・笑
コンピュータにこの犬の特徴とを登録していき、犬と識別してもらえるようにならなければいけません。
ここで問題になるのは、データの量が膨大になってしまうということです。例えば、犬だけでも何千もの種類がいますし、植物になるともっと種類があります。人間がデータベースに入力していくのはとても大変です。ならば、機械に自ら学んでもらおうということになったのですね。
ニューラルネットワーク(NN)
ここで機械学習でよく出てくるニューラルネットワークについて書きます。
機械学習とニューラルネットワークの関係は下記の図の通りです。
機械学習という大枠があって、その中にニューラルネットワークがあります。ニューラルネットワークの中にディープラーニングという領域があるという認識です。
ニューラルネットワークの特徴
ニューラルネットワークは、人間と似た特徴方法で学習していくことが最大の特徴です。
人間の脳は、膨大な数の脳神経細胞(ニューロン)が結合し、情報を伝達、処理したりすることで物事を記憶したり、会話したりしていると言われています。ニューラルネットワークはこの脳の仕組みを模倣することに挑戦したものです。
人間の脳には、物事を処理するのに共通のパターンがあります。そのパターンを認識できれば、人間の脳と同じく、画像認識、音声認識、計算などができるのでは?と考えています。
ニューラルネットワークの基本
ニューラルネットワークは、人間の脳を模倣しようとしたものです。(実際には単純化されている)コンピュータ上にの細胞をシュミレートする「形式ニューロン」、「ノード」を配置します。
情報を入力し、ニューロンに引き渡す。その情報をニューロンが処理したら、別ニューロンに引き渡す、ということを繰り返し、特徴を算出、何らかの結果を出力する仕組みがニューラルネットワークの仕組みです。出力されるものは、画像分析であったり、ものの認識であったり、様々です。
上の図は単純なものを処理するときにのイメージです。
複雑な処理を要するものになると、中間層というものが出てきます。
何かと言うと、ニューロンの数が増えるということです。それにより、思考が深くなります。
情報の処理が増える分だけ、回答の精度が上がったり、汎用性の高い回答を得られたりします。
「ディープラーニング」はこの考えで、処理の回数を増やしていくことで実現しますが、今回は機械学習とニューラルネットワークのアウトプットで終えておきます。
結論
機械学習という大分類があり、その中にニューラルネットワークという考え方がある。ということを認識できただけでも大きな進歩でした。
ディープラーニングも調べ、何か一つ制作物でも作れたら良いかなと思っています。
それでは!!
コメント