概要

目次

下位ページ

勉強するべきこと

  • 逆教科学習
  • NLP
  • one-shot learning

EMアルゴリズム

  • どんなもの?
    • 潜在変数を考えると推定がぐっと簡単になるときに有用なアルゴリズム
    • 正確には、p(Z | X, θ)が計算可能かつp(X, Z| θ)が最大化可能ならば、p(X | θ)が繰り返し計算により局所最適化可能
    • 最尤推定の局所最適解を E ステップ と M ステップ の二つのステップの繰り返しにより求める.
  • EMアルゴリズムの抽象化
    • IMG_3311.JPG
    1. 混合ガウス:アドホックに
    2. 期待値Qの最大化(完全データの生起確率の潜在変数に対する期待値Qの最大化)
    3. 自由エネルギー(自由エネルギー-Fをminとするqを前提とした時、-Fをminとするパラメータθの探求)
  • Tips
    • Dynamic Time WarpingのEMアルゴリズム的解釈がある? [Jur van den Berg+, 2010]
    • Kalman SmoothingがEMアルゴリズムのEステップをになう [Jur van den Berg+, 2010; M, Jordan]

SVM

  • どんなもの?
    • 超平面とデータの距離を最大化するように学習する。
    • 学習は二次計画問題となる。不等号付きラグランジュ(KKT条件)を利用することで双対問題に帰着することで解く。
  • 種類
    • ハードSVM
    • ソフトSVM
    • 高次元写像SVM(←カーネルトリック)

確率論

  • 確率は以下で形式的に解ける
    • 確率の公理: \( \displaystyle \sum_X P(X_1|Y) = 1 \), \( \displaystyle \sum_{X_1} \sum_{X_2} P(X_1, X_2|Y_1, Y_2) = 1 \)
    • 加法定理: \( \displaystyle P(X) = \sum_Y P(X, Y) \)
    • 乗法定理: \( P(X, Y) = P(X | Y) P(Y) = P(Y | X) P(X) \)
    • ベイズの定理: \( P(X|Y)P(Y)=P(Y|X)P(X) \)
    • 「依存」を条件付き確率として表す: \( \alpha \)を1つのみの値をとる定数確率変数とする。\( P(\bf{w}|\alpha) \)がgivenの時、\( p(\bf{w}(\alpha)|x) \)\( pい(\bf{w}|x, \alpha) \)と表記することがある
    • 条件付き確率にするということは、全事象をいじること!
  • パラメータ\( \bf{w} \)とデータ\( \mathcal{D} \)に対して、\( P(\mathcal{D}|\bf{w}) \)を尤度関数、\( p(\bf{w}) \)を事前確率、\( p(\bf{w}|\mathcal{D}) \)を事後確率と呼ぶ。
    • 尤度関数は、「このモデルを前提した時、このデータが得られる確率」という意味

頻度主義 v.s. ベイズ主義

  • 頻度主義は、パラメータ\( \bf{w} \)を点として推定。ベイズはその分布も推定
    • 頻度主義で分布を推定する方法:ブートストラップ。データの一部のみから推定するのを何回もモンテカルロ的に繰り返す
    • 頻度への批判
      • サンプル分散が\( (N-1)/N \)だけ分散が過小評価される
    • ベイズへの批判
      • 分布を与えると恣意的になる。しかも大抵与え方が数学的便宜。
      • 分布を与えない無条件事前分布というのがあるが、モデル間比較が困難
      • 交差確認で回避できる

深層学習

  • ImageNet?もそうだけど、Deepは結構転移学習が効くらしい。Deep Learningの優れている点として、汎用的なモデルをひとつ作ってしまえば、様々なタスクに転移できることが挙げられます(imagenetの画像分類タスクで学習したモデルが、画像からのキャプション生成に使えるなど)。 バラ積み取出しにおいても、複数種類のワークで学習を行ったり、シミュレータ上で大量に学習したものを、転移学習することも可能でしょう

アニメ画像データセットを作成する https://github.com/musyoku/cv-animeface

http://musyoku.github.io/implementation/ なんか大量にchainerの実装がある(3日に一つ実装しててやばい)

ニューラルネットワークが持つ欠陥「破滅的忘却」を回避するアルゴリズムをDeepMind?が開発したらしい。 学習したニューラルネットのパラメータのそのタスクに対する重要度がフィッシャー情報行列で測れるよ

CNNをグラフに対して適用する http://tkipf.github.io/graph-convolutional-networks/

心理のp値はほぼ不正、バグで成果がでる 2次元は行ける、三次元はできていない。モノクロが強い。 三次元は原理的になのか、データが足りないのか? ニューラルネットワークのスリム化 新皮質は基本的に後天的、方位特異性ニューロンも後天的。特徴量は後天的に抽出されている

ニューラルネットでアニメーションのぎこちなさをへらす http://jp.techcrunch.com/2017/05/02/20170501this-neural-network-could-make-animations-in-games-a-little-less-awkward/

毎日30分でもISLARやcs231nやcs224dやUCLの強化学習の動画講義で独学すれば、圧倒的にできるようになる CourseraのNg先生のコース

動画の途中までから、次に何をするかを文章レベルで予測 http://www.kdnuggets.com/2016/09/predicting-future-human-behavior-deep-learning.html

強化学習

  • 強化学習のだめなところ
    • 強化学習は探索フェーズはただのランダム探索。リーチングだと勾配関数を与える。だからここからここまで手を動かす、などといったカリキュラムを作る。創発だと、とりあえず動く、というのが面白い
  • Q(s, a)がs固定した時にaに対して多峰性なら、それがグローバルダイナミクスの分かれ目、ということない?

カリキュラムというもので、簡単なものから複雑なものを学習させると良いらしい

劣微分 https://research.preferred.jp/2010/12/subgradient-optimization-3/

ChainerRLというのに、DQNとかDouble DQNとか、A3Cとか、とにかく一杯実装されているライブラリが公開されている(Double DQN は行動価値の見積もり値である Q 値の過大評価を防ぎ、ニューラルネットの発散を防ぐことで学習を安定させるという特徴) https://research.preferred.jp/2017/02/chainerrl/

ロボによる折りたたみ https://www.ipsj.or.jp/award/9faeag0000004ej9-att/1P-04.pdf

ライントレーサをDQNするデモ(結構良さそう) http://qiita.com/chachay/items/555638e3079fce9d59c9

半教師有り学習のRL この論文いい感じっぽい GENERALIZING SKILLS WITH SEMI-SUPERVISED REINFORCEMENT LEARNING Chelsea Finn†, Tianhe Yu†, Justin Fu†, Pieter Abbeel†‡, Sergey Levine†(2017) https://openreview.net/pdf?id=ryHlUtqge Chelsea Finn, Tianhe Yu, Justin Fu, Pieter Abbeel, Sergey Levine https://arxiv.org/abs/1612.00429

Hybrid Deep Belief Networks Shusen Zhou , Qingcai Chen, Xiaolong Wang http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0107122

Augmenting Supervised Neural Networks with Unsupervised Objectives for Large-scale Image Classification Zhang, Y., Lee, K., & Lee, H. (2016) [29]

これがA3Cみたいなやつ? Asynchronous Methods for Deep Reinforcement Learning Mnih, V., Badia, A. P., Mirza, M., Graves, A., Lillicrap, T., Harley, T., Silver, D., Kavukcuoglu, K., … (2016) [18]

http://nkdkccmbr.hateblo.jp/entry/2016/10/08/205107 決定論的ただのQラーニングの良い例 http://qiita.com/hogefugabar/items/74bed2851a84e978b61c どうがあり面白い http://jnns.org/pastpage/niss/2000/lecturenote/lecturenote_koike.pdf 意外とQ learningまでの道のりは長い。あとアクタークリティックはQ learningのあと。数学的厳密で良い。ノートで勉強したい。2001年の資料 http://yamaimo.hatenablog.jp/entry/2015/09/03/200000 数学が読める!!しゅごい。書いてる人頭いい。連載記事。モンテカルロはRubyで6s ギャンブル問題を強化学習で。100行くらいでわかりやすそう http://kivantium.hateblo.jp/entry/2015/09/29/181954


そもそも収束しない、みたいな空間や、カリキュラム分け自体がコツになっている可能性 起き上がりでやりたいね Qテーブルの時間的分散、空間的分散、トライアル的分散 敏感な空間はイプシロングリーディによる失敗率が激上がる 予測可能性の低さ、このままでは無理!自然なダイナミクスにどれだけ支配されるか? タイミングの制御

TensorFlow

Tensor Flowのシンプルな実装からいい実装 https://github.com/TensorFlowKR/awesome_tensorflow_implementations

Chainer

事例

サンプリングアルゴリズム

未整理

深層学習の翻訳プロジェクト http://nnadl-ja.github.io/nnadl_site_ja/chap3.html

silver, 2015によると、工夫が本質らしい またSpragueによると、超パラメータはグリットサーチで極めて疎らしい。アルファ、ろー、ベータに対して。target Qは https://www.slideshare.net/mobile/mooopan/dqn-58511529 UCCという先読みのやつがすごいらしい

TD誤差 TD学習とは、強化学習の一つ 報酬にたどりついて初めて自分の行動の良し悪しを判断すると効率が悪いので、 常に自分の選択肢の価値を評価し更新することがTD学習の特徴。 TD誤差とは、自分が行動する前に思っていた行動の評価値と、実際行動してみて評価したその行動の評価値との誤差のことである。 TD誤差が正ならば、思っていたよりも良い行動 TD誤差が負ならば、思っていたよりも悪い行動 TD誤差が0に近づけば、行動前の行動の評価と行動後の行動の評価が一致することになり、自分の行動が報酬にどのくらい結びつく行動であるかが正確に予測できるようになり、 その場その場で評価が最大となる行動をとっていけば、報酬が最も期待できる一連の行動となる。

experience replayは大切。 三目ならべのAI 打ってはいけない手を教えるのが大変らしい http://qiita.com/narisan25/items/e64a5741864d5a3b0db0

機械学習の3大メソッド http://d.hatena.ne.jp/echizen_tm/20111206/1323180144

クラウドTPU https://twitter.com/iruka3/status/865504304630611969

Optimizerの種類について http://qiita.com/tokkuman/items/1944c00415d129ca0ee9 様々な手法を紹介してみましたが、やっぱりAdamが最強!!って訳でもないみたいで、学習モデルによってはAdaGrad?の方が高い精度を出すみたいな話も聞いたりします。結局使うOptimizerもモデルごとに最適なものを選ばないといけないってことなんですかね。。まあ少なくともSGDに比べたら精度も収束時間も格段に上がることはわかっているので、次はもう少しこれらのアルゴリズムがそれぞれどのような問題に適しているのかということを理解することが課題だと考えています。 次回はこれらのアルゴリズムを用いた簡単な精度の比較検証を行いたいと思っています。 http://qiita.com/tokkuman/items/33c66fcff7337a1c0fa8#_reference-c7525374ea798b596a77 基本Adamが強いが、モデルによっては学習のVarianceが変わってくる http://www.iandprogram.net/entry/2016/02/11/181322 まあ強いOptimizerの評価について

Adam は広い学習問題で安定して学習できる手法です。(chainerチュートリアルで)

安定して最適化できるのでAdam,ハイパーパラメータを選ぶが安定して精度が出やすいのはRMSPropという特徴があります。

pythonは3.4を使いましょう

Clasifyerってなんやねん…(100で入力にしてるけど、reshapeしている)

Chainerではヤコビアン行列の計算はサポートしていません。 スカラー値でない場合,ユーザーが手動でgradを設定をすればbackwardを呼び出して計算することができます。 これは要するに数値微分しているということ

最後, self.l3(h2) には F.relu を適用していないことに注意してください。 softmaxを使う際によくある間違いとして,最後の出力にもReLUを適用してしまうというのがあります。 softmaxの定義域は負を含む実数ですので,その入力を非負に制約すると,想定しない制約を課して学習することになります。


マルコフ連鎖のししゅうそくは、エルゴード性が必要。数学的には固有値1が一個とほかが1以下になるだけ。だから必ず収束する https://m.chiebukuro.yahoo.co.jp/detail/q11159853521


http://yusuke-ujitoko.hatenablog.com/entry/2016/12/31/230118 計算グラフ、筋がびみょいがforward backward がわかりやすい。境界条件としてda/daをつかうか、dedeを使うか。前者は分母を固定し、後者は分子を固定して漸化式 https://www.google.co.jp/amp/s/deepage.net/amp/deep_learning/2017/04/02/backpropagation こっちはいいんだけどだぐじゃなくて木なので、それ連鎖率せつめいできてないやろ??というかんじ ノードがベクトルの時の説明が両方ない http://qiita.com/t-tkd3a/items/031c0a4dbf25fd2866a3 ノードがベクトルのとき りんごとみかんでの簡単な説明 http://qiita.com/m-hayashi/items/c5ace811333364d887f5 誤差の逆伝播は、伝言ゲームのようなものです。もし間に8人も人が入れば、まともな話も最後はどうなるものか。。。。。 まったく当てにならないですよね。 このため、何層もあるディープなニューラルネットワークは使いものにならない、と2000年頃までは言われていました。 多層ニューラルネットワーク(ディープラーニング)への対応 そこに彗星のように現れたのがトロント大学のヒントン氏です。 ヒントン氏はGoogleにも所属しています。 ヒントン氏は、オートエンコーダやRBM(制約付きボルツマンマシン)といった仕組みを利用し、多層のニューラルネットワークでも精度を損なわない方法(事前学習方式)を提案しました。 それが現在のディープラーニングのブームにつながっています。

すごそうなひとの強化学習スライド、論文紹介 https://www.slideshare.net/mobile/sotetsukoyamada

backward 自動微分は一出力に対する微分、chainerで線形回帰を自動微分できる。教師消えない?? https://www.slideshare.net/mobile/beam2d/chainer-64567959

EMアルゴリズム http://pianopiano.sakura.ne.jp/ml/em-algorithm/

http://www.meti.go.jp/committee/summary/eic0009/pdf/020_02_00.pdf

EMアルゴリズムのいい具体例 http://ebsa.ism.ac.jp/ebooks/sites/default/files/ebook/1881/pdf/vol3_ch9.pdf EMは山登りなのでやたら局所に落ちます。

Stanをさわり始めて事前分布とか事後分布とか尤度になじみ深くなったおかげで、改めてPRML読み始めたら面白いと思えるようになったという謎

http://logics-of-blue.com/%E3%83%99%E3%82%A4%E3%82%BA%E3%81%A8mcmc%E3%81%A8%E7%B5%B1%E8%A8%88%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AE%E9%96%A2%E4%BF%82/ MCMCは事後分布の期待値を求めたいが積分むりぽよなので乱数サンプリングして近似する。pfみたいなやつですね。ギブスサンプラやメトロポリスハスティングをする ではそのxはどう選ぶのかというと、次のxの条件付き確率p(x|y,z)によって選びます。 ギブスサンプリングが有効になるのは、この条件付き確率が簡単な場合です。なぜなら、結局は新しい点は、その条件付き確率(提案分布)から選んでこないといけませんから、この条件付き確率が難しい形をしていると意味がないからです。http://nykergoto.hatenablog.jp/entry/2015/08/06/033534 という感じでギブス・サンプリングも解説おしまいです.M-H法よりも適応範囲は狭いですが,使えるときには力を発揮する方法です.

MHは結構大変 猫の問題、競技プログラミングに出せないかなあ https://www.slideshare.net/mobile/matsukenbook/4-56002293 詳細つりあいって満たされないことあるの?分布が時間で変化しないってことっぽい。詳細つりあいを満たすように分布を弄る方法らしい。 固有値の問題だけでMHはいらないということがないのは何故?

マルコフ連鎖を用いることで、モンテカルロ法を強化したものです。 後で詳しく書きますが、 モンテカルロ法は、真にランダムにサンプリングを行うため ・計算コストがかさむ ・精度も向上しない という課題があります。 そこでマルコフ連鎖モンテカルロ法は、 その課題をマルコフ連鎖を用いることで改善したものです。 https://tatsyblog.wordpress.com/

A3Cの論文を探してくる https://arxiv.org/pdf/1610.00633.pdf A3Cをロボットに適用したらちゃんと2倍速になりました。分散で方策オフで、方策をコレクタにコピーしてデータを集めている。PFNのと何が違うのだろう? http://journals.sagepub.com/doi/pdf/10.1177/1687814016668077 グラスプのマルチモーダルで拘束に。意味ない。

このエビデンス近似は線形回帰モデルだけでなくロジスティック回帰やニューラルネットワークの超パラメータを推定するのにも用いられるそうです。機会があれば、それらの実装もしていこうと思います。 ベイズの定理で「比例」としていたところを、比例ではなくて下の部分を最小化するようにすると、超パラメータを推定できる。ベイズ線形回帰だけでなく、いろいろ使える。

ニューラルネットの識別アルゴリズムを動画にするの結構おもしろい!http://qiita.com/Gordian_knot/items/507f2f1531b870a973bf 通常のニューラルネットワークを回帰問題に使う場合、コスト関数は単峰のガウス関数をモデルにしているので、多峰の状況に対処できません。混合密度ネットワークでは混合ガウスをコスト関数に用いることでこのことを解決します。

誤差関数は、 回帰→二条和誤差 2クラス分類→ロジスティックシグモイド 多クラス分類→ソフトマックス ロジスティックシグモイドとソフトマックスは、出力層の総和が1になるからうれしい(くらすAになる確率、Bになる確率…の総和が1が陽に入るので)

ミニバッチ処理 学習がうまくいかないことがあったので急遽使用した手法の一つ。 学習データ全てを使って勾配を計算するのではなく、学習データからいくつかを取ってきて勾配計算を行う。こうすることで、局所解から抜け出せるかもしれません。 そういう意味もあったのか…

カーネルトリック 要するに特徴ベクトルを[1, x, x^2, ...]とか[1, x, y, xy]とかにするのではなく、得られたデータとの近さで定義するというだけ。 http://qiita.com/Gordian_knot/items/4c4607edf15072cddc46 普通、ベイズ回帰では特徴量を定義するが、ガウス過程(入力のガウスノイズが出力のガウスノイズになること?)が前提できれば、これを明示的にやらずに、ガウス関数(2DoF)のようなカーネル(=入力間が近い→出力間が近い、という要件を満たす関数)を定義して、カーネルトリックしたうえで、超パラメータをエビデンス近似するといい感じになる。

何が欲しいかによって出力層の関数を買えなければいけない、という面白い例。 http://qiita.com/Gordian_knot/items/19c4a4f205b855cf6a05 混合係数πkπkは∑kπk=1∑kπk=1という制約条件があるので、ソフトマックス関数により混合係数を出力します。 πk=exp(aπk)∑Kl=1exp(aπl) πk=exp⁡(aπk)∑l=1Kexp⁡(aπl) 平均は非線形変換を用いずにμk=aμkμk=aμkとします。 標準偏差σσは0以上なので指数関数を使ってσk=exp(aσk)σk=exp⁡(aσk)。 これで、混合ガウス分布を計算するのに必要な関数πk,μk,σkπk,μk,σkが求まりました。

関連ベクトルマシン http://qiita.com/Gordian_knot/items/ee512530618a5eeccd1a よくわからなかった。 高速らしい 回帰のパラメータそれぞれに分散を割り当てると、関連する部分だけが得られる??なのに、関連するベクトルとしてデータ点が色をつけられている???どういうこと? データ点がない場所で分散が少なくなるという非直感的なことが起きるらしい

積和アルゴリズム ノイズ除去を目的とするのであればグラフカットという手法が一番精度が良いらしいです。

ギブスサンプリングはいちじく固定なので僕の非同期運動学系に合いそう。何らかのノイズがあるばあいの運動学の確率密度を推定し、誤差領域を明確化するなど。安全に寄与しそう。

女子高出身東大卒女子と話してるとわかる残念なことは、ほとんどの女子高には理系教育の(まともな)機能がない。先生がいない。おしとやかで型にはめた女子を量産することに、親と学校が合意をして入れてる。大学ががんばるのにも限界がある。

http://www.fashionsnap.com/the-posts/2017-05-22/heart-closet-strategy/

pythonで数式処理 http://myenigma.hatenablog.com/entry/2016/02/20/183423

かの有名な黄金比(1:1.618)と白銀比(1:√2)の長方形を見せて、「美しいと思うものはどれ?」と質問すると欧米人は黄金比が多いんですけど、なぜか日本人は白銀比の方が多くて、例えば五重塔の1段目と5段目の長さの比は白銀比だし、けものフレンズのボスの縦横比は1:√2の白銀比です

質問の意図が掴みきれてるかわからないのですが、DeepとConvolutionは相反するものではなく、Deep=層の数、Convolution↔Linearという関係ですね。 あと今回のタスクは入力が1次元なのでconvつかってもlinear使っても中身はどちらも一緒です。

CNNのConvolutionというやつはDNNにいれる前の前処理らしい。プーリング? http://vaaaaaanquish.hatenablog.com/entry/2015/01/26/060622 もうちょっとわかりやすそう(畳み込みできちんとしらべるべき) http://hiro2o2.hatenablog.jp/entry/2016/02/05/215919 https://deepage.net/deep_learning/2016/11/07/convolutional_neural_network.html#cnnで解決できる問題


ドグラマグラの続きを書く、一緒に高速読解アプリも一緒にくっつけたい https://anopara.net/2016/01/29/%E3%80%8C%E3%83%89%E3%82%B0%E3%83%A9%E3%83%BB%E3%83%9E%E3%82%B0%E3%83%A9%E3%80%8D%E3%81%AE%E7%B6%9A%E3%81%8D%E3%81%8C%E8%AA%AD%E3%81%BF%E3%81%9F%E3%81%84%E3%81%8B%E3%82%89%E4%BA%BA%E5%B7%A5%E7%9F%A5/

研究:教科学習の学習曲線とゲームを人がやった時の面白さって相関しないか?

ナブラ演算子の学習AIとレーティング

強化学習トレード http://andoo.hatenablog.com/entry/dqn_fx

ランダムフォレスト http://shindannin.hatenadiary.com/entry/2014/12/26/184624 決定木をエントロピー基準で構築。予測は決定木をランダムにいっぱい作って、多数決。先生、好きなテーマだと饒舌になるね

ベイズ的信頼区間 http://hikaru1122.hatenadiary.jp/entry/2015/10/08/235814 青いスライドに入ってる

http://hikaru1122.hatenadiary.jp/entry/2015/10/08/235814 学部生向けベイズ統計イントロ(公開版) これが、一番最後に統計検定の頻度とベイズ的なのの違いを書いている

確率的こうばいこうかほう http://qiita.com/kenmatsu4/items/d282054ddedbd68fecb0 勾配計算を全データではなくて一部20個とかのみを使う方法 最急降下法はバッジ勾配降下法とも呼ぶ 確率的勾配降下法SGDは、実は1つのデータだけでも動くが、普通はミニバッジにする(両方確率的勾配降下法と呼ぶ、http://postd.cc/optimizing-gradient-descent/#gradientdescentvariants)。確率的勾配降下法は評価関数がめっちゃバタバタする http://www.iandprogram.net/entry/2016/02/11/181322 まあいろんな勾配計算がある。この中に30踏んでわかるAdamなるものもある。http://saiias.hatenablog.com/entry/2015/03/07/223056 AdamのC++実装

グラフィカルモデルとベイジアンネットの違いは?

ベイジアンネット http://www.sist.ac.jp/~kanakubo/research/reasoning_kr/bayesiannetwork.html CpTは条件付き確率表といういみ、わかりやすい 左の場合は、P(B,E,A)=P(A|B,E)P(B|E)P(E)となる。右の場合は、P(B,E,A)=P(A|B,E)P(B)P(E)となる。つまり、グラフの逆辺をクラスカル法的に辿っていく(しゅつじすうが0になったやつから削ってくといういみ、Dagだからいける) このページめっちゃ計算例が詳しくて良い。理解したい

ベイジアンモデル、ギブスサンプリングなど http://qiita.com/sergeant-wizard/items/d0ec93f625e596258182 一般的な機械学習 ベイジアンモデル 学習 MCMC等 学習パラメータ 確率モデルのパラメータ 評価関数 事後確率

解析力学 http://www.research.kobe-u.ac.jp/csi-viz/members/kageyama/lectures/H25_FY2013_latter/Analytical_Mechanics/note_140129a.pdf

スパーズコーディング 「データを教師なしで変換する行列分解手法」として、(1) 主成分分析(直交)・独立成分分析(エントロピー誤差)・スパースコーディング(L0())の3つ。要するに、データいっぱいあるやつを、別の基底で表して次元削減したりする方法。 http://shiten4.hatenablog.com/entry/2014/01/10/125704 実装においては、主成分分析は固有値計算するのみで計算が早い一方、独立成分分析とスパースコーディングが目的関数の最適化に繰り返しが必要となり、比較的計算が遅い。Pythonにはライブラリがある decomposer = PCA() decomposer = FastICA() decomposer = DictionaryLearning?()

http://tjo.hatenablog.com/entry/2014/02/08/173324 Mcmc http://hosho.ees.hokudai.ac.jp/~kubo/ce/BayesianMcmc.html 要するに複雑なモデルのパラメータ推定方法。決まった形があるわけではなく、全探索や固定や山登りを併用。有名なのがギブスサンプリングとメトロポリスってこと http://d.hatena.ne.jp/hoxo_m/touch/20140911/p1 複雑すぎると次元の呪いに引っかかるので、これを使う。 バーンイン区間といって初めの値は使わない(http://hikaru1122.hatenadiary.jp/entry/2015/10/08/235814 マルコフ連鎖モンテカルロ法 これは検定にMcmcを使おうとしてる) その意義:複雑過ぎて解析的にはパラメータが求まらないケースでもパラメータが求まる では、何でこんな大変な思いをしてMCMCなんてやるんでしょうか? 確かに、ただの正規線形モデルなら最小二乗法で推定できますし、一般化線形モデル(GLM)ならニュートン=ラフソン法などの数値解析的求解法が必要ながら最尤法で推定できます。個体差や場所差といった変量効果を含む一般化線形混合モデル(GLMM)でも、一応何とかならなくもないです。この辺をひとまとめにした図が、久保先生のサイトにあるのでご参考までに。 しかし、さらにそれを超えた複雑なモデルになるともはや限界です。例えば2次元空間上の場所差のように変量同士でも相関があったり*13、パラメータ同士や目的変数の中に自己回帰や自己相関があるようなデータや、そもそも単一のモデル式では記述できず要素ごとに別々のモデルが介在(小売店における曜日効果・イベント効果・長期トレンド・季節成分など)した上で1つの目的変数(売上高など)を説明するような複合モデルを、最尤法でパラメータ推定しようにもモデル式が複雑過ぎてほぼほぼ不可能です*14。

変分法 http://d.hatena.ne.jp/Zellij/touch/20121101/p1 何かを最小化する関数そのものを求める方法 数値的に求めることもできるらしいが、どうやるの? http://libir.soka.ac.jp/dspace/bitstream/10911/4472/1/%E9%87%9C_%E5%89%B5%E4%BE%A1%E7%B5%8C%E6%B8%88%E8%AB%96%E9%9B%8644%E5%B7%BB.pdf 詳しい変分法の説明

実はL2正則化はMAP推定と同じ結果にぬる。違う場所がまとめられてる http://s0sem0y.hatenablog.com/entry/2016/04/24/055832

なんで情報量の送受信って話になるの?何と戦ってるの?

エントロピーは、情報量の期待値。雨晴れどちらか神のお告げを聞くとして、重要なのは半々の時に最大。エントロピーが大きいというのは平等であるということ http://s0sem0y.hatenablog.com/entry/2016/04/21/132645 KLダイバージェンスは、確率密度pをpで送った時と自作のqで送った時のエントロピーの差

https://bellcurve.jp/statistics/course/9490.html この統計のページわかりやすい

OpenPose? 姿勢推定W https://twitter.com/izm/status/861171349036736513

統計検定、結構良さそう http://www.toukei-kentei.jp/about/grade1semi/

データ解析を目的ベースに解説した良い http://tjo.hatenablog.com/entry/2016/03/07/080000

時系列の分散付き予測 http://tjo.hatenablog.com/entry/2017/03/07/190000

DQNのまとめ。これはしっかり読まないといけない https://www.slideshare.net/mooopan/dqn-58511529?next_slideshow=1

奈良先端技術大学 安並さんの修士論文 反復型軌道積分最適制御の近似解法に関する検討 https://library.naist.jp/mylimedio/dllimedio/showpdf2.cgi/DLPDFR009754_P1-47

ベルマンの最適性原理 file:///home/hamko/Downloads/201115519-59650-0-9.pdf 連続からナップザックまで結構きちんとまとまっていて良さそう 「この章では動的計画法 (DP) のアイデアを説明します。DP はベルマン(R.E.Bellman) によっ て案出され、工学、経済学、その他の多くの分野において使用されてきました。線形計画法は線形関 数の場合だけを取り扱うのに対して、動的計画法は非線形の関数、解析的な形になっていない関数も 取り扱えます。しかし、一般的な数理計画問題に常に適用できるわけではなく、問題が多段決定問題、 つまり、各段における決定の系列を求めるような問題に変換できれば、動的計画法によって解くこと が可能です。動的計画法の特徴は、再帰方程式 (漸化式) を巧妙につくるところにあります。 ✓ DP の考え方を理解するため、まず、次の例を見ましょう。」

制御理論

  • STRIPS
  • iLQG
  • PIPI
  • GPS

モデル予測制御は最適制御のリアルタイム版 コロモフとC\Gresとの違い、これらは両方モデル予測制御のアルゴ

https://www.usss.kyoto-u.ac.jp/uchugaku/seminar/2016/20160704_Ohtsuka.pdf これめちゃいい。実時間の最適制御は、今までに解いた問題の初期値を使ってるっぽい

基本的に最適制御は、 ある時間ホライズンで「ゴールコスト+目標軌道中のコスト」を積分、を最小化することで実現される。 これだとよくわからんので、ある時間ホライズンが無限だったり、積分が離散だったり連続だったり、コストに確率が入っていたりするけど、基本的には大して変わらない

http://www.orsj.or.jp/archive2/or57-07/or57_7_367.pdf HJB方程式は、システムが線形の場合は解析解がある。 非線形の場合、ロボットモデルが与えられて更に「確率システムでない場合でも」解析解がない DDP(有限horizon離散時間問題。非線形ダイナミクス、コストは微分可能を前提) 教科学習(無限horizon MDP) 数学的便宜で導入した線形化を行うことによって、 非線形HJB方程式が線形化するので解ける 更に、(3)は2つのすごいポイントがあって、(a)モンテカルロサンプリングによるモデルフリー ロボットモデルが与えられない→低次元しかできない 高次元→極めて正確なモデルが必要でロボットでの応用が限定的 確率的な場合、システムが線形であっても操作量 に制限を受ける場合は解析的に解けなかったりする。

LQG プロセス・観測ノイズを加えて、微分コスト関数Cを二次形式前提すると、HJBがリカッチになるので解ける https://jp.mathworks.com/help/control/ref/lqg.html

本稿では,多自由度のロボットが運動学習を行う枠 組みを中心に紹介した.近年の HJB 方程式の線形化 手法の導出を背景に,高次元の状態空間をもつ多自由 度ロボットの運動学習が現実的となってきた.応用と して,歩行運動学習を行った事例を紹介した.周期的 な運動課題に対して,位相依存での表現を用いること により学習性能が向上することを実験的に示した.現 在,我々の研究グループでは,ヒューマノイドロボッ ト CB-i(図 3a)への実装を目指して学習アルゴリズ ムの改良を進めている. 本稿では,制御則の最適化に焦点を当てた紹介を行っ たが,他にも,見まね学習など多自由度システムにお いて効率的に運動学習を行うアプローチが多く提案さ れている.それらロボット学習の研究事例を集めた論 文特集号として [23, 24, 25] を紹介しておく. 多くの自由度を有するシステムのための学習メカニ ズムを開発することは,同様に多自由度システムであ るヒトが日々直面している学習問題を理解することに も通じる可能性がある.たとえば,新学術領域研究「予 測と意思決定の脳内計算機構の解明による人間理解と 応用」(http://www.decisions.jp) では,神経科学,分 子生物学,精神医学,哲学,心理学,機械学習,ロボ ティクスなどの分野の研究グループが協力し人間の学 習システムの理解を目指した取り組みを行っている.今 後,工学応用のみならず,ロボット学習の知見が人間 理解にも貢献することが期待される.

E. Theodorou, J. Buchli, and S. Schaal. A generalized path integral control approach to reinforcement learning. The Journal of Machine Learning Research, 11(Nov): 3137–3181, 2010. これが線形化HJB eqによる強化学習の初めのやつ

https://library.naist.jp/mylimedio/dllimedio/show.cgi?bookid=100084582 https://library.naist.jp/mylimedio/dl/page.do;jsessionid=19685e30591370e490466c9f2856?bookid=100199387&tocid=0 DMPの詳しい説明が載っているもの: Ijspeert, Auke Jan, et al. "Dynamical movement primitives: learning attractor models for motor behaviors." Neural computation 25.2 (2013): 328-373. 再試しようとしているもの: Kober, Jens, et al. "Reinforcement learning to adjust parametrized motor primitives to new situations." Autonomous Robots 33.4 (2012): 361-379. です。

誰でもレビュー無しでアップロードできるので、玉石混合との批判もあります。しかし、2002年のペレルマンのポアンカレ予想の証明のような、ものすごい成果が早々と出回ったりもします。http://arxiv.org/abs/math/0211159から始まる3部作です。ジャーナルへ投稿しても、証明の正しさの検証が難しく、なかなか世に出ることはなかったでしょう。

joyportさんオススメの深層強化学習 https://twitter.com/joyport/status/875648941995327490

SI出身の人と機械学習のモデルの組み立て方についてはいつも、議論になる (精度が出るまで反復してがんばって精度はベストエフォートでいいと思ってるのだが、SIはなんか最初から完成形のずに落とそうとするスタイル) 誰もやったことがない道のもので、研究の要素を多分に含んでるのに、なぜ計画的にシステムに落とせると思うのか割と謎

機械学習とSIがめっちゃ相性悪いのが。。

http://qiita.com/icoxfog417/items/67764a6756c4548b5fb8 機械学習 疑問をまとめる必要性 機械学習のテスト Zero-shot learning というのは最近流行っている機械学習の話なのだが、学習時には未知のラベルを推定する、という問題で、たとえば画像にキャプションや説明文をつけたりするようなタスクがこれに当たる 対訳コーパスが一切ない(ZeroShot?)、あるいは少ししか存在しない場合(Few-Shot) における CLDR のための学習手法 CLDRはある言語の文書をクエリとして、多言語の関連する文書を見つけるタスク

PIPI (2010) Stochastic Dynamics、ただしノイズはstateに依存せず、出力に載る Iterative Reinforcement Learning of stochastic DMPがこの問題の特殊ケースになっている…と言っているが実際にやってることはDMPのパラメータ最適化(初期DMPは与えられて改善のみ)。学習してるのはパラメータだけで、ゴールと初期位置を動かすことはしていない。 やっていること

MPPI (2017) Stochastic Dynamics、ノイズはstateにのみ依存 Reinforcement Learningはできない!これはただのMPC 多数クワッドロータ(144次元)や、Aggresive Drivingなどをやっている

Information Theoretic MPC (2017) Stochastic Dynamics、ノイズはstateに依存せず、出力に載る。 決定論的なダイナミクスの学習ならば、q, qdot, fの対応を学習させればよいだけ。 こうすると、何がいいかというと、ダイナミクスの学習を決定論的に行い、MPCのサンプリングだけを乱択にすることができる

MPC

MPC 非常に詳細(1時間)な良さそうな説明。モチベーションレベルもありそう https://jp.mathworks.com/videos/cda-model-predictive-control-90293.html

MPCのメリット 大きくは、一つは操作量と制御量にハードあるいはソフトの制約を入れられる(トルク、関節可動域、電圧、他の車両とぶつからない、道路からはみ出さない、横滑りしない、加速しすぎない、などなど)。MIMOでできて、最適状態フィードバック制御なので、普通に使える。毎回軌道最適化する。制御系の性能を最大限引き出せる。 MPCは、走りながら、計測しながら、予測しながら、常に最適な経路の再設定や車両の動き方の生成を行う デメリットは毎回QPをとくので計算速度キツイ。あと線形かモデルを前提しているので、ニューラルネットを使う必要があったりして険しい 普通、操作量がハード制約で、制御量がソフト制約(操作量はしばしば物理的制約なので) 追従誤差の重みを増やすと、急激な制御に ソフト制約はスラック変数あり、ハードはなし 予測ホライズンは、制御対象の時定数を初期値に調整していくと、よく言われている 制御ホライゾンはいきなり長い値は取らず、まず2, 3ステップから始める(最適化する自由度は制御ホライゾンに依存するので、あんまり増やすと時間キツイし最適化が過学習して不安定になりがち)。予測に足りないぶんは、同じ制御出力を仮定してやる。 具体的な解き方は、大きく三つ。ハミルトンヤコビベルマン方程式をDP、変分を勾配方法か連続変形方で解く、非線形計画問題とする。連続変形方法C/GMRESは非線形MPC=NMPCにも使えてすごい ロボットアームでは、終端制約集合なるものを定義できたりして面白そう(途中と最後のロスが別)http://www.fl.ctrl.titech.ac.jp/paper/2005/SICE_Seminar_Fujita_MPC.pdf http://www.fl.ctrl.titech.ac.jp/paper/2005/SICE_Seminar_Fujita_MPC.pdf 27ページに、早い分野への応用がまとまってる ピースワイズアフィンみたいなことをしなくてもNNでいけるとかないかな クーロン摩擦を考慮したロボットアーム http://www.econ.nagasaki-u.ac.jp/RAMP2007/paper/4-2.pdf

やたら詳しい制御のブログ https://www.google.co.jp/amp/myenigma.hatenablog.com/entry/2016/07/25/214014%3Famp%3D1#amph=1


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS