• このエントリーをはてなブックマークに追加

機械学習ディープラーニングの用語解説まとめ

  • このエントリーをはてなブックマークに追加

suusiki
GWに暇を持て余しているzaco muraです。

こういう時って、「何かしなきゃ時間を無駄にしてる気がする」と思いませんか?ということで最近話題の機械学習の勉強をしているわけですが、これが本当に難しい。まず用語がわかりません。

ということで、まずは用語をまとめることにしてみます。

※1あくまで私の拙い理解に基づくまとめです。正しい保証はないのでご注意を。。。
※2ディープラーニングの学習には深い数学の知識が必要です。数学が苦手な私は簡略化して理解しているので、説明が不足している点がありますが、ご容赦を。。。
※3随時追記予定

スポンサーリンク
Sponsords Link

参考

参考というか、ほとんどこのページの要約
ニューラルネットワークと深層学習
このページを見つけなければ、何が何やらさっぱりな状態でした。

ニューラルネットワーク

たくさんの訓練により「問題の解き方」を自分で見つけることができる、人間の脳に近い機能を持った仕組み。(ディープラーニング的にいうと、「重み」と「バイアス」を自動的に最適化できる仕組み)

例えば手で書かれた数字を認識するアルゴリズムを考えるとします。1であれば「縦に長い一本の棒」と表現できますが、3はどのように表現すれば良いか、5はどのように表現すれば良いか?さらに手書きによる「ブレ」も考慮するとこのアルゴリズムはすごく複雑になります。

ニューラルネットワークはこのアルゴリズムを見つけさせるための仕組みです。

たくさんの手書き数字画像と正解のラベル(この画像がどの数字を表すか)という情報を与えることで、自分で「手書き数字を見分けるアルゴリズム」を構築していくものです。

パーセプトロン

人工ニューロン(脳神経細胞)の一つ。複数の2進数の入力と1つの2進数の出力を持つ機構。論理回路と考えても良いかも?

入力1(0or1)→
パーセプトロン → 出力(0or1)
入力2(0or1)→

⇧図にするとこんな感じ?

入力はいくつあってもオッケー。

パーセプトロンの欠点は出力が二進数であること。訓練の過程で重みやバイアスを微調整した時に、本当は出力結果も微調整したいのに、(二進数なので)0か1かという大きな変化しか表現できないこと。

シグモイドニューロン(ロジスティックニューロン)

人工ニューロンの一つ。実際のディープラーニングには(パーセプトロンではなく)こっちが使われる。
パーセプトロンとの違いは入力/出力が二進数ではなく、0から1の値をとること。(例えば0.233とか0.562も正当な入出力になりうる)

これにより、パーセプトロンの欠点であった微調整の困難さが解決される。

コスト関数(損失関数)

ニューラルネットワークが見つけたアルゴリズムの正しさを評価する指標。もっと正確に言うと、見つけた「重み」と「バイアス」の組み合わせがどのくらい正確か(例で言えば正しく手書き文字を認識できているか)を表す指標。

見つけたアルゴリズムが正しければ、コスト関数は0に近づく。

つまり、ニューラルネットワークの究極的な目的は「コスト関数が0の重みとバイアスの組み合わせを見つけること」になる。

勾配降下法

「訓練」の方法。もっと具体的に言うと、「重み」と「バイアス」の組み合わせを0に近づけるためにそれぞれの値を調整する方法。
先ほど説明した通り、ニューラルネットワークはコスト関数を0にすることを目的としている。勾配降下法は、「ある関数の最小値を見つける」一般的な方法。

確率的勾配降下法

改良された勾配降下法。
勾配降下法は総当たり的に計算を行う為、計算処理が重く時間がかかるという課題があった。それを改良したのが確率的勾配降下法。
無作為に抽出した中から最適な計算方法を推測することで短縮化した勾配降下法。
(テレビ局のアンケートみたいなもの。無作為に抽出した数千人から内閣支持率を出したりするやつ)

ディープラーニング

機械学習の分野の一つ。
ここまでの用語を使って説明すると、「ニューラルネットワークを多層に並べて行う機械学習」。ニューラルネットワークを多層(ディープ)に並べることで、人間の脳に近い複雑な判断を行うことができるらしい。

スポンサーリンク
Sponsords Link
  • このエントリーをはてなブックマークに追加

ZacoDesign

スポンサーリンク
Sponsords Link