kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

機械学習で出てくるわからない単語を学習

「壁にぶつかることで理解する必要性がわかる。」

ということで、絶賛壁にぶつかっています。tensorflowを使ったサンプルコードから理解を深めていこうとしていますが、新規の用語が多すぎます。

ただわからない。と思って本をみたところ大体最初の方に全部書いてありますね。

直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ

直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

  • 作者:斎藤 康毅
  • 発売日: 2016/09/24
  • メディア: 単行本(ソフトカバー)

読みながら単語を理解しようとする記事です。専門家でもなく、学習中の内容で自分が理解できる内容に噛み砕いていく過程のため間違いも多くあると思います。

ざっくり進んでいく過程をお楽しみください。

パーセプトロン

パーセプトロンアルゴリズム

入力値から一つの内容を出力する。

ニューラルネットワーク

入力層、中間層、出力層。

入力する内容を設定する。入力値が特徴量となる。多重に設定することができ、学習の層を定義する。

kerasのコードではSequentialモデルとよばれている。

活性化関数

ニューラルネットワークの学習における理解度を設定する。学習が0-1に極端な理解度になる状態を防ぐため、理解度を徐々に行うように調整する計算方法を設定する。

活性化関数の種類でシグモイド、ReLuなどがある。

シグモイド関数は最初は理解度が遅く、徐々に理解度があがり、理解度が深くなると伸びが少なくなる方法。

RelUは線形的に理解度が一定の伸びで上がる方法。

他の方法も使用できる方法がドキュメントに記載されています。

keras.io

勾配降下法

最適化アルゴリズムの一つ。ニューラルネットワークの学習手法の一つ。

高速な勾配降下法として、確率的勾配降下法SGD)やRMSpropやAdamなどがある。

keras.io

エポック

データセットに対して学習した回数

雑記

今日はこれくらいにしておきます。(理解できなくなってきた・・・)

学習について、活性化関数と最適化アルゴリズムが出てきたけど、どういう違いなんだろう。

パーセプトロンに対して結果を計算するのが活性化関数、全体的なニューラルの結果を算出するのが最適化アルゴリズム??かな。

ゼロから作るDeepLearningは一度目を通した書籍ですが、読んだ当初わからない単語ばかりで流して終わりになっていました。実際にコードを書いて、問題を解決しようと取り組んでみると書いてある内容は初心者にもわかりやすく、かなり詳しく説明されていることがわかってきました。

英語学習もそうですが、必要に迫られていない状態だと身につける勉強は難しいですね。

勉強をするためにやるより、なにかを実現するための手段になることで必要度が上がることは重要ですね。

さぁ、英語の勉強でもしてきます。