HELLO CYBERNETICS

深層学習、機械学習、強化学習、信号処理、制御工学、量子計算などをテーマに扱っていきます

自己符号化器(オートエンコーダ)と主成分分析との関係

  •  自己符号化器の役割
    • 自己符号化器の構成方法
    • 数式を見る
    • 損失関数を見る
  • 主成分分析の復習
    • 主成分分析の復習
    • 主成分分析の次元削減
  • 自己符号化器と主成分分析
    • 損失関数の書き換え
    • 主成分分析との比較
  • 自己符号化器の価値 
    • 非線形性を容易に表現
    • 雑音に対するモデル構築が容易
    • ニューラルネットワークの良い初期状態を与える

 

続きを読む

「ゼロから作るDeep Learning」書評。購入を迷っている方へ

  •  結論
  • 理由
    • 実装がライブラリに依存していない
    • しっかりと解説が行われている
    • リファレンスが充実している
    • 計算グラフによってネットワークの計算を扱う
  • 中身
    • 誰におすすめできるか
    • 誰におすすめできないか
  • 私が本を購入して

 

続きを読む

ダイバージェンス関数を数学の立場から概観

 

 

機械学習で現れるダイバージェンスといえばご存知KLダイバージェンスがあります。

KLダイバージェンスは学習をする際の評価関数として用いられることもありますが、二乗誤差などに比べ、なぜにこの関数が評価関数として妥当なのか納得しづらいところです。

今回は数学的な立場からダイバージェンス関数について眺めてみて、これが学習の評価基準として選ばれうることを見てみたいと思います。

 

 

 

続きを読む

機械学習をpythonではじめよう

  • matlabとpython
    • matlab
    • python
  • フリーであること
    • 機能の充実
    • ITはフリーウェアに支えられている
  • pythonを学ぼう
    • 機械学習を通して
    • 機械学習をやるならpythonで良い
  • 機械学習を始める
    • まずはanacondaでpythonの導入
    • 深層学習のライブラリをどうするか

 

続きを読む

今更ながら深層学習の書籍

深層学習の書籍は何冊か所持していますが、深層学習の勉強が進み、今改めて見ると本に対する印象がだいぶ変わったように思います。今回は、理解が進んだ今だからこそ見える書評してみます。

 

  •  深層学習の書籍
    •  深層学習(機械学習プロフェッショナルシリーズ)
    •  深層学習(人工知能学会)
    • 進化計算と深層学習 創発する知能 
    •  機械学習と深層学習 C言語によるシミュレーション
  •  深層学習(機械学習プロフェッショナルシリーズ)
    • おすすめポイント
    • 注意点
  • 深層学習(人工知能学会)
    • おすすめポイント
    • 注意点
  • 残りの2つ
    • 進化計算と深層学習 
    • 機械学習と深層学習 C言語によるシミュレーション

 

続きを読む

ネットワーク概論:目次

最近は「Big Data」、「Internet of Things」、「Deep learning」がITのキーワードとなっています。近い将来、IOTですべてのものがインターネットに接続されるようになり、そしてそれらから多量の情報がネットワーク上に流れるようになります。そして深層学習は多量のデータから有用な予測を行うことを可能にする技術ですから、これらは別々というわけではなく必ずどこかで繋がってくることでしょう。

クラウドサービスも少し前にキーワードとして頻繁に取り上げられていましたが、現在は落ち着きを見せています。落ち着きを見せるようになったのは、流行りが過ぎ去ったというだけのことではなく、それが当たり前の技術として世に浸透したからだとも言えます。

 

将来これらのITが相互に連携しあってサービスを提供できるようになるためには、強固なインターネット基盤が必要となります。

そこで今回はネットワークの基礎知識をまとめておきたいと思います。

 

  •  はじめに
  • プロトコルの階層構造
    • OSI参照モデル
    • アプリケーション層
    • プレゼンテーション層
    • セション層
    • トランスポート層
    • ネットワーク層
    • データリンク層
    • 物理層
  • 逐次更新します

 

続きを読む

ニューラルネットワークが導入されたGoogle翻訳の実力検証

Googleと言えば人工知能研究に最も力を入れている企業の1つです。

特に近年発展しているニューラルネットの研究に関しては非常に力を入れています。特にDeepmindは機械学習の著名なカンファレンスであるNIPSに毎年論文を採択されており、応用分野だけでなく研究分野でも力を発揮していることが伺えます。

 

今回はそんなGoogleが、翻訳のソフトにニューラルネットを導入したことで精度が大きく向上したという報告がなされています。そのことを他の翻訳ソフトと比較して検証してみたいと思います。

 

  •  翻訳ソフトの機械学習
  • 論文翻訳実験
    • 元英語
    • google翻訳された日本語 
    • weblio翻訳された日本語
  • 感想

 

続きを読む

深層学習:ハイパーパラメータの設定に迷っている人へ

既に深層学習は、chainerやtensorflowなどのフレームワークを通して誰の手にも届くようになっています。機械学習も深層学習も、あまりよくわからないが試してみたいなという人が数多くいるように思います。そして、実際に試している人たちもたくさん居るでしょう。

そんなときにぶち当たる壁は、多種多様なハイパーパラメータの設定です。

 

これはテストデータの精度に対して、試行錯誤を繰り返しながら決めていくしかありません。

しかし闇雲に値を変えて試してみてもあまり良い成果は得られないでしょう。

 

今回は、各ハイパーパラメータがそもそもどのような効果を持っているのかをまとめ、学習を行う際の指針になるようにしたいと思います。

 

  • ハイパーパラメータとは
  • ユニットの数をどうするべきか
    • 中間層のユニットの数を膨大にする
    • 中間層のユニットの数を少なくする
    • 結局どちらが良いのか
  • 荷重減衰
    • 荷重減衰の効果
    • 荷重減衰の注意点
  • スパース正則化
    • スパース正則化の効果
    • スパース正則化の発想
  • ドロップアウト
    • ドロップアウトの効果
    • 強力な正則化
  • 学習率
    • 学習の決め手
  • オプティマイザー
    • なぜたくさんの種類があるのか
    • 学習の停滞が再び再開される理由
    • オプティマイザーはどれを選ぶべきか
  • ディープラーニング関連の様々なパラメータについて更に知りたい方は以下 

 

続きを読む

見たら瞬時に理解すべき数式

機械学習で現れる数式に関して、これを見たら瞬時に理解すべきものを載せておきます。

機械学習で現れる数式には大量の添字があり、それらのせいで一体どのような計算が行われているのかを瞬時に把握するのが難しくなっています。しかしもはやこれは慣れの問題です。

教科書を根気強く理解できるようにするのもいいですが、予めどのような表現があるのかを知っていれば、もっと楽に読み進めることができるはずです。そのための言わば事前に知っておくと言い数式たちを載せておきます。

 

 

  • 行列の行と列の数
    • 計算の法則  
    • 特に頻出する形式
  • 和の計算と行列表現
    • 内積
    • 行列計算
    • 出現場面
  • 固有値と固有ベクトル
    • 固有ベクトルは、ほとんど変換を受けないベクトル
    • 固有値とは、固有ベクトルがどれだけ定数倍されたかを表す
    • 出現場面 
  • 勾配 
    • 勾配はスカラー関数の各成分の傾き
    • 勾配はスカラー関数の等高線の法線ベクトル
    • 出現場面
  • 終わりに

 

続きを読む

ニューラルネットワークによる学習の停滞はどこから生ずるか

現在機械学習ではディープラーニングの活躍が目立っています。

その基礎はニューラルネットワークの学習にあり、この学習を知っているのとそうでないのとでは、各手法に関する理解度が大きく異なってくるものと思います。

今回はニューラルネットワークの学習における不思議の1つ、「学習の停滞」の原因について述べてみたいと思います。

 

  • はじめに
  • 勾配法
    • 勾配法
    • 具体的な例題
    • 学習が停滞する原因
    • 勾配法の落とし穴
    • 学習が停滞し、再び進む原因
  • 鞍点はどこから現れるのか
    • 勾配が「」になる点
    • パラメータを少し変更しても、損失関数がまったく変化しない点
    • 簡単な例
    • 特異点
  • まとめ

 

続きを読む

評価関数で見る機械学習手法

最近、学習は最適化問題に帰着されるということを自分自身強く意識するようになりました。

そこで有名なSVMや対数線形モデルなどの評価関数を見て、それぞれがどのような狙いを持っているのかを概観してみようと思います。

 

  •  Support Vector Machine
    • 評価関数
    • 解釈
    • ソフトマージン
  • 対数線形モデル
    • 狙い
    • 実際の最適化問題
    • 解釈
  • 正則化
    • 正則化項の取り扱い
    • 評価関数の一般的な取り扱い
  •  正則化と最大事後確率推定(Maximum a-posteriori estimation:MAP推定)
    • 対数線形モデルは最大事後確率推定

 

続きを読む