2017年07月14日

当分の間、このブログは学習モードになります

storage.mantan-web.jp_images_2017_05_21_20170521dog00m200017000c_001_size8.jpg

このブログは当分の間、学習ブログとなります。主な内容は次のようになると思います。
・ニューラルネットワークとディープラーニング
・タグチメソッドとその実践例
・Pythonによるデータ分析
・Pythonから始める数学入門
・Z80マイコン応用システム入門(ソフト編)
・統計学の続き
・群論とその応用
・ガロア理論

私は6年前くらいにタグチメソッドを知り、以後ずっと強い関心を持っていましたが、このたびニューラルネットワークやディープラーニングの学習を始めるに当たり、ニューラルネットワークやディープラーニングがタウチメソッドと深い関係があるのではと思うようになりました。

そこでこれらを学習することで両者の関係を確認してみたいと思います。

当分、このブログは学習モードになりそうです。

では。

posted by tsurutsuru at 10:46| Comment(0) | 日常茶飯事

「ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 」の拾い読み(2)

storage.mantan-web.jp_images_2017_05_21_20170521dog00m200017000c_001_size8.jpg

前回の続きです。

その前に「ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 」の構成を再確認します。

1章 Python入門
2章 パーセプトロン
3章 ニューラルネットワーク
4章 ニューラルネットワークの学習
5章 誤差逆伝播法
6章 学習に関するテクニック
7章 畳み込みニューラルネットワーク
8章 ディープラーニング
付録A Softmax-with-Loss レイヤの計算グラフ
参考文献

それで各章の一番最後にある「本章で学んだこと」を原文のまま紹介していました。続きは2章からです。

2章 パーセプトロン
・パーセプトロンは入出力を備えたアルゴリズムである。ある入力を与えたら、決まった値が出力される。
・パーセプトロンでは、「重み」と「バイアス」をパラメータとして設定する。
・パーセプトロンを用いれば、ANDやORゲートなどの論理回路を表現できる。
・XORゲートは単層のパーセプトロンでは表現できない。
・2層のパーセプトロンを用いれば、XORゲートが表現することができる。
・単層のパーセプトロンは線形領域だけしか表現できないのに対して、多層のパーセプトロンは非線形領域を表現することができる。
・多層のパーセプトロンは、(理論上)コンピュータを表現できる。

【ツルツルの寸評】
いきなりパーセプトロン(perceptron)が出てきて戸惑いますが、その理由が章のはじめに説明されています。

(以下P21の原文)
 本書では、パーセプトロン(perceptron)というアルゴリズムについて説明します。パーセプトロンは、ローゼンブラットというアメリカの研究者によって1957年に考案されたアルゴリズムです。この昔からあるアルゴリズムをなぜ今さら学ぶのかというと、パーセプトロンはニューラルネットワーク(ディープラーニング)の起源となるアルゴリズムでもあるからです。そのため、パーセプトロンの仕組みを学ぶことは、ニューラルネットワークやディープラーニングへと進む上で重要な考え方を学ぶことにもなります。
 本章では、パーセプトロンについて説明し、パーセプトロンを使って簡単な問題を解いていきます。その過程を通して、パーセプトロンに親しんでもらいます。
(原文終わり)

どうもパーセプトロンは電子回路を記述するために登場したものと思われますね。それが、ニューラルネットワークへと繋がったのですね。
パーセプトロンでは、「重み」と「バイアス」というパラメータの設定と多層の場合が重要だと推測されます。そして、適切なパラメータの値をコンピュータに決めさせることが学習だということです。人間は、その作業のモデルを決めて学習データを機械(コンピュータ)に与えるということです。

3章 ニューラルネットワーク
・ニューラルネットワークでは、活性化関数としてシグモイド関数やReLU関数のような滑らかに変化する関数を利用する。
・NumPyの多次元配列をうまく使うことで、ニューラルネットワークを効率よく実装することができる。
・機械学習の問題は、回帰問題と分類問題に大別できる。
・出力層で利用する活性化関数は、回帰関数では恒等関数、分類問題ではソフトマックス関数を一般的に利用する。
・分類問題では、出力層のニューロンの数を分類するクラス数に設定する。
・入力データのまとまりをバッチと言い、バッチ単位で推論処理を行うことで、計算を高速に行うことができる。


だんだんと面白くなって来ましたが、続きは次回に。


posted by tsurutsuru at 09:43| Comment(0) | 日常茶飯事