板情報 | 学問/人文/科学 ]

karino2の読書とMOOCsの掲示板

スレッド作成:
タイトル:
名前: E-mail(省略可)
内容:

1 : Probabilistic Graphical Models(pgm)(110) / 2 : Machine Learning(machine-learning)(47) / 3 : The "Real Easy" Ear Training Book(6) / 4 : カテゴリ分類関連の論文調査(8) / 5 : NNの画像関係の調査(91) / 6 : Pattern Recognition and Machine Learning(140) / 7 : CS 20SI: Tensorflow for Deep Learning Research(32) / 8 : CS231n: Convolutional Neural Networks for Visual Recognition(72) / 9 : NN系機械翻訳の調査(30) / 10 : 詳解 Linuxカーネル(13)
11 : サイロ・エフェクト - 文化人類学の逆襲(12) / 12 : 基礎からのベイズ統計学(14) / 13 : Hadoop: The Definitive Guide, 4th Edition(7) / 14 : Androidのなかみ InsideAndroid(27) / 15 : Android Internals: A Confectioner's Cookbook(9) / 16 : PRINCIPLES OF ECONOMICS (Econ1)(17) / 17 : FreeBSD詳解 2nd edition(7) / 18 : 雑談(8)  (全部で18のスレッドがあります)

掲示板の使い方 / 新着をメールで受信 / 過去ログ倉庫 / スレッド一覧 / リロード


1 Probabilistic Graphical Models(pgm) (Res:110)All First100 Last50 SubjectList ReLoad 1
1karino2 :2016/06/16(木) 00:56:56
Courseraのco-founderのコース。

ベイジアンネットワークのコース。
ベイジアンネットワークは各ノードがベイズの推論となっていて、エッジが条件付き確率の条件を表すような物。

最初このコースを見た時はなんのコースかすら分からなかったですが、MCMC勉強した後にみると凄くMCMCと関連したコースである事に気づく。

104karino2 :2017/02/07(火) 13:19:34
scomponentsはgaimc下にあるぜ、との事。
addpath('gaimc');
で良さそう。せっかく書いたのに(´・ω・`)

さて、ちょっと確定申告やってたら、ここまでの話を忘れた。どうしよう?
まずGってなんだっけ?

edgesにi, jにエッジがあれば1、そうでなければ0が入っているのだろう。

var2factorsってなんだっけ? >>100 に何か言及があるが。

>> ex.t10a2{1}.var2factors{1}
ans =

1 17 20
(省略されました・・全てを読むにはここを押してください)


105karino2 :2017/02/07(火) 13:20:37

MCMCInferenceのq_ijに進む。まずはEdgeToFactorCorrespondence(G.names, F)が何を返すか調べるか。
>> E2F = EdgeToFactorCorrespondence(ex.t12a1{1}.names, ex.t12a2{1})
E2F =
{
[1,1] = [](0x0)
[2,1] = 17
[3,1] = [](0x0)
[4,1] = [](0x0)
...


つまりエッジに対して、そのエッジを含むfactorを返すみたいね。

なんとなく実装して試すと、exampleINPUTの1のMHUniformの結果がそもそもあってない。あれ?これって前実装した処だよなぁ、とC-rしてみたらex.t8a1とかで呼び出している。
(省略されました・・全てを読むにはここを押してください)


106karino2 :2017/02/07(火) 21:02:17
やはりこれは自分のマシンでは動作確認は諦めよう。
理屈は理解したので、この実装が例え間違っていても、実際に実装しなきゃいけない時には実装出来ると思う。


107karino2 :2017/02/10(金) 14:28:38
dual decompositionとtractable MAP inferenceの動画を見てなかったので観ている。
これが終わればコース2は終わりでいいかな。


108karino2 :2017/02/25(土) 16:36:30
出版関係で少し時間が空いたが、dual decompositionの動画を見終わった。
これでコース2の動画はオプショナルな物まで全て見た事になる。
一応プログラム課題も一通り解いたし、終わりという事でいいかな。

コース3はもう少し出版関係が落ち着かないと取れないかなぁ。


109ブランドスーパーコピー :2020/03/27(金) 12:51:31
スーパーコピー 時計 - スーパーコピー 時計
○各種のブランド偽物(コピー商品)の指輪.ネックレス
○各種のブランド偽物(コピー商品)のベルト
○各種のブランド偽物(コピー商品)のマフラー
○ スタイルが多い、品質がよい、価格が低い!
○ S品質 シリアル付きも有り 付属品完備!
○必ずご満足頂ける品質の商品のみ販売しております.
○ 品質を最大限本物と同等とする為に相応の材質にて製作している為です.
人気の売れ筋商品を多数取り揃えております。
全て激安特価でご提供.お願いします。
ブランドスーパーコピー https://www.watcherdg.com/watch/menu-pid-131.html


110その他の世界一流スーパーコピー :2020/08/06(木) 04:09:27
ブランド N級 ブランドコピー販売
弊社はルイヴィトン、グッチ、ロレックス、オメガ等世界有名なブランド コピー品を販売しております。
以前はヤフーと楽天で販売しました。
今はホームページを作って販売する形になりました。
弊社は2007年に設立しました、何年も経ちましたので、豊富な経験を持っております。
弊社は在庫量を保つためにたくさん工場と協力しております。
全部、品質を保つために、
一流の素材を選択してブランド コピー品を作っている工場です。
1、品質を重視、納期も厳守、お客様第一主義を貫きは当社の方針です。
2、最も合理的な価格で商品をお客様に提供致します。
3、不良品の場合、交換いたします。
没収された場合、もう一度無料で発送いたします。
4、卸売できます、小ロット対応できます。
その他の世界一流スーパーコピー https://www.watcherdg.com/watch/product-19435.html


名前: E-mail(省略可)
全部読む 最新50 1-100 メール受信 掲示板トップ リロード


2 Machine Learning(machine-learning) (Res:47)All First100 Last50 SubjectList ReLoad 2
1karino2 :2015/11/01(日) 18:30:44
https://www.coursera.org/learn/machine-learning

Workload: 1日/week (オフィシャルには5-7 hours/week)
Prerequisite: プログラミングの知識くらい。行列の計算は掛け算くらいだが、コース内に補講あり。Octaveも入門の補講があるので知らなくてもOK。統計の知識や機械学習の知識は必要ありません。
Other: プログラミングの課題が毎週ある。環境はOctave

Andrew Ngによる機械学習のコースです。
Courseraの立ち上げに関わる二人の教授のうちの一人で、難易度も比較的低いので目玉コースの一つなんじゃないでしょうか。
少し応用寄りですが、理論の解説も肝はだいたい解説されていて、この分野の概要を理解する事が出来ます。以後、実際に使う時になったらその分野の専門の資料を当たる基礎を提供してくれるでしょう。

毎週のプログラムの課題は結構時間かかり、時には丸一日くらい使ってしまう週もあるかと。
名前から受ける印象よりは簡単な授業ですが、課題が実用的で面白い。

41karino2 :2019/02/13(水) 15:32:01
DONE >>19


42karino2 :2019/02/13(水) 16:46:36
>>17 はそもそも関係無い和訳がまぎれこんでるっぽいので、文自体を変えました。


43karino2 :2019/02/13(水) 18:22:04
ちなみにずれてる動画も手作業で直す事にしたので、ズレてる動画も報告してくれたら幸いです。
とりあえず
>>8 は把握しています。


44yamasaki1ma :2019/02/13(水) 20:16:11
>>43
お疲れ様です!
ひとまず、Week3の"Classification"がズレています。

Week5もけっこうズレていたと思います…がどの動画だったか忘れました。
近々、復習がてらチラっと確認してみます。


45yamasaki1ma :2019/02/20(水) 14:51:36
Week: Week 9
動画タイトル: Problem Motivation
時間: 2分38秒あたり
誤り: x-testが来た時にに、それがアノマリーっぽいかをアルゴリズムに教えて欲しい。
正解: x-testが来た時に、それがアノマリーっぽいかをアルゴリズムに教えて欲しい。

Week: Week 9
動画タイトル: Gaussian Distribution
時間: 1分13秒あたり
誤り: Normalの省略系で
正解: Normalの省略形で

Week: Week 9
動画タイトル: Gaussian Distribution
時間: 9分2秒あたり
(省略されました・・全てを読むにはここを押してください)


46yamasaki1ma :2019/02/21(木) 12:15:56
Week: Week 9
動画タイトル: Developing and Evaluating an Anomaly Detection System
時間: 1分46秒あたり
誤り: 航空機野エンジンの例を
正解: 航空機のエンジンの例を

Week: Week 9
動画タイトル: Anomaly Detection vs. Supervised Learning
時間: 1分36秒あたり
誤り: これら正常は航空機エンジンなど。
正解: これら正常な航空機エンジンなど。

Week: Week 9
動画タイトル: Choosing What Features to Use
時間: 8分28秒あたり
(省略されました・・全てを読むにはここを押してください)


47karino :2019/05/14(火) 22:16:42
>>45 了解です。確認してみます。


名前: E-mail(省略可)
全部読む 最新50 1-100 メール受信 掲示板トップ リロード


3 The "Real Easy" Ear Training Book (Res:6)All First100 Last50 SubjectList ReLoad 3
1karino2 :2017/09/07(木) 23:59:23
https://g.co/kgs/uMvwMu

以前Courseraの音楽理論か何かのコースで勧められていた本。
良い本だと思うのだが、なかなか進まないので続けるには根気が要る気がする。

オーディオはmp3でフリーダウンロードなので本を買わなくても聞いてみる事が出来る。

2karino2 :2017/09/08(金) 00:02:32
何度か挫折しているが、今回再開したのでスレを立てて進捗を書いていく。
まずは現状を。

前回はベース音の聞き取りに不安があり、ソルフェージュのトレーニングを開始した結果そこで途切れた。

その後ソルフェージュはリズムが変わる手前(ドからソまで)までは終わり、大分基礎力はついたんじゃないか、と思っている。
また、寝る前とかに良くこのオーディオを聞きながら寝ていたので、多少は復習と予習にもなってる気がする。


3karino2 :2017/09/08(金) 00:11:21
3章のマイナートライアドあたりから再開する事にする。

Activity twoのアルペジオなどを歌ってみたり、Activity threeのマイナーかメジャーかを聴き分けるまでは簡単。


4karino2 :2017/09/08(金) 00:12:29
Hearing 2-, 3-, 6-から難しい、というかどこまでやったら良いのかキリが無い。
1から6までの和音をいろいろな調で練習する、となるが、調はたくさんあるしなぁ。
ギターの場合調をかえても相対的な形はだいたいは変わらないので、弾く事は出来る。
ただ何の音を弾いているかは把握出来てない。
これをひたすら弾いていればいいのかなぁ。指板の位置も把握した方が良いか?
そこまでやると、ずっと先に進まないが…


5karino2 :2017/09/08(金) 00:14:06
経験上、毎日一課ずつ、とか進んでいくとあっという間についていけなくなるので、立ち止まって練習するのが大切、というかそちらこそが本体と言える。
ただキリが無いのも間違いないので、どこかでは先に進んだ方が良いと思うのだが…

とりあえずしばらくやって、飽きたらマスター出来てなくても次に進もう。


6karino2 :2017/09/08(金) 00:20:38
Activity fourでトライアドの真ん中の音を歌っていくのが良い練習になるので、とりあえずキーはGで練習する。
他のキーでも練習せい、と書いてあるが、Gだけでもうまく歌えずにひたすら繰り返している。


名前: E-mail(省略可)
全部読む 最新50 1-100 メール受信 掲示板トップ リロード


4 カテゴリ分類関連の論文調査 (Res:8)All First100 Last50 SubjectList ReLoad 4
1karino2 :2017/08/31(木) 18:31:10
カテゴリ、特にユーザーがつけたタグなどを元にしたカテゴリの分類や類似度に関わる論文についての調査をここにメモする。

2karino2 :2017/08/31(木) 18:34:22
Deep Classifiers from Image Tags in the Wild
http://dl.acm.org/citation.cfm?id=2814821

問題設定が似ている。参考文献とかたどるスタート地点に良さそう。


3karino2 :2017/09/05(火) 15:22:13
次は2. Related workから関係ありそうなものとして、8, 13, 14あたりを読む。

[8] M. Guillaumin, T. Mensink, J. Verbeek, and C. Schmid. Tagprop:
Discriminative metric learning in nearest neighbor models for image
auto-annotation. In Proc. ICCV, 2009

[13] X. Li and C. G. M. Snoek. Classifying tag relevance with relevant
positive and negative examples. In Proc. MM, 2013.

[14] X. Li, T. Uricchio, L. Ballan, M. Bertini, C. G. M. Snoek, and A. del
Bimbo. Socializing the semantic gap: A comparative study on image
tag assignment, refinement and retreival, 2015.
http://arxiv.org/abs/1503.08248.


4karino2 :2017/09/14(木) 19:24:06
14のレビュー論文を読んでる。
この論文では、

- Tag assignment
- Tag refinment
- Tag retrieval

の3つのタスクを軸にいろいろな論文を比較している。
うーむ、我々の関心はこのどれとも違うなぁ。


5karino2 :2017/09/14(木) 19:25:05
NUS-WIDEとMIRFlickrというデータセットがちょくちょく出てくる。
後者は我々も使えたら使いたいな。


6karino2 :2017/09/15(金) 14:22:12
2章を見ると、画像につけられたタグと、そのコンテンツのrelevancyを中心的な概念としてそれぞれのタスクを見ていく。

我らは別にタグと画像のrelevancyは問題としてないのだよな。
それよりも、タグ自体の性質を解析している。
そういう点ではここで紹介されてる既存研究とはやってる事がそもそも違う、とは言えそう。


7karino2 :2017/09/15(金) 18:36:29
やはり各論文のメモはブログに書く事にする。
こちらの方が図が気軽に書けるので。

https://karino2.github.io/2017/09/15/%E7%94%BB%E5%83%8F%E3%82%BF%E3%82%B0%E3%81%AE%E3%82%BF%E3%82%B0%E4%BB%98%E3%81%91-refinment-%E6%A4%9C%E7%B4%A2%E3%81%AE%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E8%AB%96%E6%96%87%E8%AA%AD%E3%81%BF.html


8karino2 :2017/09/15(金) 18:58:19
次は

Tag-Based Image Retrieval Improved by Augmented Features and Group-Based Refinement

を読んでみようかな。


名前: E-mail(省略可)
全部読む 最新50 1-100 メール受信 掲示板トップ リロード


5 NNの画像関係の調査 (Res:91)All First100 Last50 SubjectList ReLoad 5
1karino2 :2017/03/05(日) 22:04:03
お絵描きアプリとかで使うのに役に立ちそうな事を中心に読んで行こうかな、と。

まずはサーベイから。
https://arxiv.org/abs/1512.07108
Recent Advances in Convolutional Neural Networks

85karino2 :2017/08/06(日) 15:11:37
ネットワークの構造は良く分からんが、ダウンサンプラー以外はSRCNNと一緒かね。
トレーニングデータは大分多そうだが。
実装を確認してみたい所だが、割と簡単に試せそうなのでやってみたい気もする。


86名無しさん :2017/08/06(日) 15:58:12
>>77 論文のurl。
https://arxiv.org/abs/1603.08155


87karino2 :2017/08/06(日) 19:28:43
次はこの Image Super-Resolution via Deep Recursive Residual Networkを読む。
https://twitter.com/yohei_kikuta/status/894107330760933377

>>74 もRes blockと同じweightのrecursionを使ってた気がするが。


88karino2 :2017/08/07(月) 21:42:16
この論文はネットワーク構造が詳しく載ってて良いね。
実装出来そうな気がする。
ロスはpixel wiseな自乗誤差か。
画像は291枚ということでSRCNNよりちょっと多いが似たようなもの。

で、トレーニングは4日かかる、との事なのでこれもSRCNNと同じ感じやね。


89karino2 :2017/08/07(月) 21:54:02
読み終わった。
全体的にSRCNNのネットワーク構造変えただけでセッティングはほとんど一緒ね。
試すのは簡単そうだけど、4日トレーニングにかかるからpercepual lossの方がいいかなぁ。


90karino2 :2017/08/09(水) 22:11:44
>>74 をもうちょっとしっかり読み直し。
ジェネレータはRecursiveにはしてないResBlock重ねた物で、>>87 から参照されてた奴に見える。
で、最終的にはトレーニングしたジェネレータを使う訳ね。
LR版のパッチは拡大せずそのまま食わせるっぽい。
content lossはpeceptual loss。
discpiminaterは普通のCNNに見えるが、44に従ってるとか。

44はUnsupervised representation learning with deep convolutional generativa adversarial networks だそうで。
これは後で読もう。


91名無しさん :2017/08/09(水) 23:15:42
>>90 これ、オリジナルのDCGANの論文じゃん。


名前: E-mail(省略可)
全部読む 最新50 1-100 メール受信 掲示板トップ リロード


6 Pattern Recognition and Machine Learning (Res:140)All First100 Last50 SubjectList ReLoad 6
1karino2 :2016/12/14(水) 09:33:24
Pattern Recognition and Machine Learning (Information Science and Statistics)

いわゆるPRML。
機械学習の定番教科書として有名だが、難しい事でも有名。

https://www.amazon.co.jp/dp/0387310738

134karino2 :2017/09/11(月) 11:46:23
11.2 MCMC
冒頭では簡単にMCMCによるサンプリングの概要が述べられている。
提案分布が時間の前と後ろで対象な時の話。

11.2.1はマルコフ連鎖の性質の話。
時間依存が無い時で、invariantな分布に収束するとはどういう事か、そして詳細釣り合い条件を満たすとinvariantだ、みたいな話をする。
最後に基本となるトランジションをmixtureしたトランジションの事が軽く触れられている。


135karino2 :2017/09/11(月) 11:59:46
12.2.2はMetropolis-Hastingsアルゴリズム。
12.2の冒頭はMetropolisアルゴリズムで、これは連鎖の前と後の向きに対して対象な提案分布の物だった。
MH法はそれの拡張で、非対称な物でも使えるようにしたもの。
Aを詳細釣り合い条件を満たすように変更する。

その後qの選び方の話を。大きい分散だとrejectされがちだが小さい分散だとなかなか移動しないので、サンプルする間隔を広くしないとサンプル同士の相関が。


136karino2 :2017/09/13(水) 12:37:16
11.3、11.4は別段難しい事は無いので置いとく。

11.5.1はHMCの話か。

ポテンシャルエネルギーの定義は割と簡単だが、運動エネルギーとはなんなのだろうか?
zが変化をしまくるような系は不安定、という事か?
このしまくる大変さ、みたいなのが運動エネルギーなのだろうか。


137karino2 :2017/09/13(水) 13:04:39
invariant: ある確率分布から一つ時間発展させても同じ分布になる事。

ergodicity: 初期状態に関わらずmを増やしていくと同じinvariantな分布に収束する性質。


138karino2 :2017/09/13(水) 13:18:07
位置を固定して運動量を確率分布からサンプルする、というのがどうしてinvariantなのかが直感的に良く分からないので考える。

ある位置に対して望ましい運動量というのはあるのか?
ポテンシャルが凄く高い所で、周囲のポテンシャルが凄く低いなら、ここで静止しているのはおかしい気がする。
そういう点ではポテンシャルの場所による微分と関係がありそうだ。
11.55はそういうのに近い。

感覚的には、ポテンシャルの極小の点に居ない為には、ある程度の運動量が必要だろうな。
そういう意味では、ある点に居そうな運動量というのは多分あるだろう。
それは軌道が偶然そこを通るくらいの運動量で、なるべくゆっくりな物が一番確率が高いのだろうな。
ゆっくりな程偶然そこが観測される可能性が高いから。

あれ?それだとちょうど静止してるくらいが一番じゃないか?
例えばいろんな場所から弾を射出して、偶然ここを通る事が観測される可能性って事だよな。
ここで静止するのはよそから打つ場合は不可能か。
(省略されました・・全てを読むにはここを押してください)


139karino2 :2017/10/13(金) 16:09:09
10章のノート。これはブログに書いた。

https://karino2.github.io/2017/10/13/54.html


140karino2 :2017/10/15(日) 19:02:47
PRMLの勉強会が終わった
https://karino2.github.io/2017/10/15/55.html


名前: E-mail(省略可)
全部読む 最新50 1-100 メール受信 掲示板トップ リロード


7 CS 20SI: Tensorflow for Deep Learning Research (Res:32)All First100 Last50 SubjectList ReLoad 7
1karino2 :2017/03/12(日) 20:15:17
http://web.stanford.edu/class/cs20si/index.html

TensorFlowのがっつりとした入門コースだが、そのまま結構新しめの機械学習の問題にも取り組む。
TensorFlowの入門が凄くしっかりと出来ていて、TensorFlowがどういう物か凄く良く分かる。

動画は無くて講義資料としてスライドとコードのみ公開だが、二日目くらいまで見た範囲ではこれだけで十分に思う。

26karino2 :2017/05/23(火) 14:43:52
avgpoolを実装せい、と言われる。ふむ、言われてみるとどう実装したらいいんじゃろ?
と見てみると普通にavg_poolあるじゃん。
これを呼ぶだけで良いのは分かるのだが、せっかくなので実装も覗いてみるかな。


27karino2 :2017/05/23(火) 14:45:16
覗いてみたが、gen_nn_ops._avg_poolが呼ばれているだけで

https://github.com/tensorflow/tensorflow/blob/r1.1/tensorflow/python/ops/nn_ops.py

こいつは自動生成されるスタブらしい。

https://stackoverflow.com/questions/41147734/looking-for-source-code-of-from-gen-nn-ops-in-tensorflow

じゃあここから先を追う気は起こらないな。


28karino2 :2017/05/23(火) 14:56:45
vgg_model_sols.pyの方に答えが書いてあるのか。
自分の結果と比べるとスコープとかを使っているね。
ふむ、以後真似しよう。


29karino2 :2017/05/23(火) 16:21:04
答えをチラ見しつつcreate_summaryまでは順調に来た所で、summaryってなんぞ?と手が止まる。

Managing experiments and process dataの所のスライドにありそうだな。


30karino2 :2017/05/23(火) 16:21:56
後半はほとんど写経になってしまったが、一応一通り理解はした。
さて、このまま実行すればいいのだろうけど、やっぱりnotebookで実行したいので移していくかなぁ。


31karino2 :2017/05/23(火) 17:33:32
notebookで一通り動かしてみた。
10分くらいかかったかもしれないが、まぁこの位ならCPUでいいか、という所。

いろいろ触って大分経験値は上がったな。よしよし。


32karino2 :2017/05/23(火) 21:56:24
さて、中をちゃんと追っておこう。
vgg_model.pyのload_vggでは、vgg_layersにモデルのパラメータを読み込み、この値をconstとして、同じ作りのネットワークを作っている。

次にlossの方を見ると、なんだか分からず我らが実装させられたのは、特定のレイヤーのアウトプットである事がわかる。
スタイルっぽいレイヤの値を、STYLE_LAYERSに入ってる名前のレイヤーの中間出力とみなす。
コンテント自身はconv4_2の中間出力をそれとみる。

さて、中間層の値は三回predictを実行する事で得る。

1. input_image
2. style_image
3. generated_image (これはN回)

1の中間層の値と2の中間層の値にいい感じに一致するようにgenerated_imageをいじっていく。
これはAdamOpmizerで更新される(!!!)
(省略されました・・全てを読むにはここを押してください)


名前: E-mail(省略可)
全部読む 最新50 1-100 メール受信 掲示板トップ リロード


8 CS231n: Convolutional Neural Networks for Visual Recognition (Res:72)All First100 Last50 SubjectList ReLoad 8
1karino2 :2017/05/12(金) 21:11:59
http://cs231n.stanford.edu/

スタンフォードのCNNで画像認識のコースのOCW。
自分でいじりたくなったので簡単に触れそうな奴をやってみよう、という事で。

66karino2 :2017/05/22(月) 17:14:31
lossがnanと言われた。
cross_entropyを提供されてる2レイヤーの方の例に適用=>OK
RMSPropのoptmizerを提供されている2レイヤーの方に適用=>OK
batch normalizationをコメントアウトして試す=>OK

spatial batch normalizationか。


67karino2 :2017/05/22(月) 17:31:48
sample_meanなどを返すべき所でmoving_mean返してた。
無事解決。


68karino2 :2017/05/22(月) 18:12:15
running_meranなどの値が0だ。これはassignで更新しているつもりだが更新されてない。
なんかそんな事CS20SIの方で言ってたな。オペレーションが出来るだけで実行されないんだっけ。

さて、関数の中の方で値を更新したい時はどうすれば良いのだろうか?


69karino2 :2017/05/22(月) 19:45:15
結論、session_runに渡した変数しか更新出来ない。
という事でrun_modelを書きなおす。

さらに
def update_running_mean():
op1 = running_mean.assign(momentum * running_mean + (1 - momentum) * sample_mean)
op2 = running_var.assign(momentum * running_var + (1 - momentum) * sample_var)
with tf.control_dependencies([op1, op2]):
return tf.identity(running_mean), tf.identity(running_var)

とかやる。こうしてassin_opをdependenciesにしたrunning_meanやrunning_varをrunに渡せばOK。
2時間くらいかかった…

でも無事全部動いたぜ!やった~~~!


70karino2 :2017/05/22(月) 19:48:16
この辺と

https://confluence.slac.stanford.edu/pages/viewpage.action?pageId=213897811

この辺が参考にはなった。

https://blog.metaflow.fr/tensorflow-mutating-variables-and-control-flow-2181dd238e62


71karino2 :2017/05/22(月) 20:16:35
全部終わってみた感想。

まず全体的に、numpyでほぼスクラッチから実装するのに近い内容だった。
ただ面倒な所はいい感じに既にコードがあるので、自分でやれば全部作れるな、と思わせつつ面倒は無い、という絶妙なバランス。さすが。
実装内容は画像識別でCNNに、間のレイヤーはConvolution、MaxPool、ReLU、batch normalization、softmaxくらいで、dropoutもやる。
最先端一歩手前のスタンダードになっている手法は一通り網羅出来ているんじゃないか。

予備知識としては簡単な機械学習とPythonくらい、また偏微分のchain ruleはbackpropagationの為に必要。
特にchain ruleはバッチ正則化の所でかなりの量の計算を自分でやる事になり、この次元とかを確認するのに行列の挟むかなりややこしい計算をする事になるので、結構な計算力が要求される。
バッチ正則化は元論文も読む必要があって、かなりの力量を要求されるんじゃないか。

なお、バッチ正則化と最後のTensorflowのcomplex_modelを作る問題だけが極端に難易度が高く、自分でいろんな事を考えて書かないといけないが、この二つ以外の難易度は低い。
この二つの問題を捨てればコースの難易度は一気に下がる。

numpyでの書き方とかが手慣れていて、さすがに勉強になる。
(省略されました・・全てを読むにはここを押してください)


72karino2 :2017/05/22(月) 20:24:33
さて、コースについての印象。
今時ならバッチ正則化を自分で書く事も無いし、いちいちnumpyでスクラッチから実装するのとか、一部のマニアだけの趣味の世界だろ、と思ったが、そうでも無かった。
最後にTensorflowで標準的で結構複雑なCNNのモデルを作るのだが、当たり前の事だけど一発で動かない。
ドキュメントの出来も悪くて、結構中を理解してないとどう使ったらいいか分からないAPIも多い。

この時に、全部の実装を自分でnumpyで書いてあると、それを見ながらデバッグ出来て良い。
実際バッチ正則化の周辺は何度も自分のコードと見比べてデバッグしていった。

Tensorflowは、ブラックボックスとしてただ他で書いてあるのを適用すると、ちょっと動かなかった時にかなりお手上げな状況になってしまう気がする。
トレーニング周辺のコードがごついので、モデルの所をデバッグするのが相当難しい。
だから結局簡単なケースをnumpyで実装して比較するのは、当初思っていたほど無駄な作業でも無かった。
必須かどうかまでは分からないが、自分くらいのレベルのプログラマならやっておいた方が良さそう。
という事でとても勉強になった。

また、最初は少ないデータでオーバーフィットを試す、とか、選択肢がいっぱいあるなかで実務的にはこれ、みたいな現時点での結論を断言してくれる所とか、実際に作業する時にはとても参考になる事がたくさんあった。
(省略されました・・全てを読むにはここを押してください)


名前: E-mail(省略可)
全部読む 最新50 1-100 メール受信 掲示板トップ リロード


9 NN系機械翻訳の調査 (Res:30)All First100 Last50 SubjectList ReLoad 9
1karino2 :2017/02/26(日) 12:07:16
Google Translateの論文を眺めていたら意外と読めそうだったので、関連する文献から真面目に見てみよう、と思い立つ。
少し調べてみると日本語のブログも結構あって、Google Translateに限らずNN機械翻訳全般で必要な事を学んでいく方が良さそう、と思い、そういう趣旨のスレを建てる事に。

24karino2 :2017/03/02(木) 01:48:24
いまいちBPEのアルゴリズムを正確に理解した、とは言い切れないが、だいぶ[35]よりは分かった。
unknownな単語は何らかの方法でsub wordに分割して翻訳する訳だ。
どう分割するかはいろいろあるが、ようするに語源とかを元に意味を類推するのに近いのだろう。

sub wordをトレーニング時に作るのかとかはいまいち良く分からなかったが、その辺は最終的なシステムがどうなっているのかを見る時に調べられるからいいか。


25karino2 :2017/03/02(木) 02:02:18
>>2 の論文に戻って5のTraining Criteriaまで読んだ所で、objective functionが単なる尤度では無いという話が。
良く分からないが[34]に書いてあるらしい。読むか。

[34] https://arxiv.org/abs/1511.06732
Sequence Level Training with Recurrent Neural Networks


26karino2 :2017/03/03(金) 01:41:25
3.2.1くらいから全然分からないなぁ。
これは強化学習を別途学んでおく必要がありそう。

ただ、単語一つを生成してトレーニングするのではなく文を生成させてBLEUでロス関数を作らないとまずい、という主張は良く分かる。
ちょうど以前似たようなトレーニングと実際の問題設定の違いでリコメンドがうまく行かない、という現象に実務でぶちあたった事があるので。


27karino2 :2017/03/03(金) 01:44:39
元のGoogleTranslateに戻ると、(8)は理解出来るようになっていた。
rはBLEUとかのスコアで求める報酬だね。
GoogleTranslateではGLUEという変形した物を使っているとか。
まぁそこは重要では無かろう。

と言う訳で5は理解出来るようになっていた。
これで十分か。6に進もう。


28karino2 :2017/03/03(金) 02:16:31
6、LSTMのc の精度を絞る!
これは細かいチューニングだなぁ。
いかにもプロダクションらしい良い話だね。

7章の枝狩りとかも面白いね。全部理解出来た訳でも無いが、cpで翻訳漏れをなくすのと、尤度が長いセンテンスほど低くなるのでなんかノーマライズしたい、というのは理解出来るから、まぁいいか。

8章は読まなくてよかろう。


29karino2 :2017/03/03(金) 02:19:04
以上で一通り基本的な部分は理解出来た気がする。
まだ実際のニューラルネットのアーキテクチャというかどう多層化してるか、とかはそんなにしっかり消化出来てる気はしないが、まぁそこは些細な問題だろう。

大分GoogleTranslate世代の翻訳は理解出来た気がする。
なかなか面白いね。2015年あたりから一気に進んだなぁ。


30karino2 :2017/03/13(月) 20:53:26
word embeddingsのその後のレビュー的なブログ。

http://sebastianruder.com/word-embeddings-1/index.html
On word embeddings - Part 1

詳しく書けていて素晴らしい。


名前: E-mail(省略可)
全部読む 最新50 1-100 メール受信 掲示板トップ リロード


10 詳解 Linuxカーネル (Res:5)All First100 Last50 SubjectList ReLoad 10
1karino2 :2016/04/28(木) 11:18:16
https://www.oreilly.co.jp/books/9784873113135/

Androidの本を書くにあたり、Linuxの細かい事を知りたくなった時の為購入。
日本語版もpdfがちゃんとあり結構安い。
頑張ってるな。

7karino2 :2016/04/30(土) 19:45:36
8.2のスラブアロケータは斜め読みで読み飛ばし。
一応トピックくらいは追っておく。
メモリプール以外は知らない事は無いかなぁ。


8karino2 :2016/04/30(土) 19:57:00
8.3読み中だが、この辺はよく知らないな。
ゾーンアロケータは連続ページしかallocしないのかしら?
いつも非連続領域なのかと思ってたが。
これだとフラグメンテーションが起きちゃうね。だからバイナリバディなのか。


9karino2 :2016/05/01(日) 20:06:39
9.4までサラサラと読み終わり。
9はユーザープロセスのメモリ回りの話。
8はカーネルがどうメモリ管理をしているかという話。
9はようするにオンデマンドでCOW、的な話だ。ページフォルトのハンドラとか。

細かい所は分からない所もあるけど、あんま真面目には追ってない。
今回の目的には必要無いので。
ただ、何が書いてあるかのトピックくらいは眺めておく。

眺めておくのは結構いろいろ思い出したり、良く自分の中で消化しきれていなかった事が整理されていって、費用対効果的になかなか良い。

この本は全部隅から隅まで読んできっちり理解するよりは、今回のように詳しく知りたい所の周辺を眺めたり、目的の所ずばりを真面目に読んだり、という感じの使い方が良いと思う。
全部理解するのは大変なので、この本で勉強するのではなくてある程度他で勉強した後に使うのが良い。


10karino2 :2016/05/02(月) 07:47:44
9.6読み終わり。9.6はヒープ。
この辺はシンプルなままね。


11karino2 :2016/05/02(月) 08:01:15
次は17章のページフレーム回収アルゴリズムに進む。
ここを読む為に最近はこの本読んでた。

表17-1(p725)を見ると、無名ページは全部スワップ可能ページとしているように見える。
悪魔本ではスワップはページ単位じゃなくてプロセス単位に見えたのでおかしいなぁ、と思ってたが、やっぱり向こうを誤読していたか。


12karino2 :2016/05/03(火) 19:36:27
17章読み終わり。OOM回りはあっさりだが、まぁこんなもんで十分か。
これでAndroidのlmkd回りを解説する前提となる背景知識は十分復習出来たかなぁ。


13karino2 :2016/05/24(火) 10:40:18
13章のデバイスドライバとIOのあたりを読んでいるが、誤植が酷い。

例えば今読んでるのはp583だが、PCIが途中から全部PCになっている。
一貫して間違えてるので、どうしてこうなった感が。

昨日も日本語として全く意味が通らなくて何を言いたいか分からないが重要でない文とかにあたったし、この章は全体的に被害は無いが出来は悪い。

テクニカルな事を良く分からずに訳して意味不明、というのは良く見かけるが、こういう日本語として単純におかしい、とか、これくらい間違うはずが無いような簡単な所だけ間違う、というのはどうしてこういう本が出来たのか良く分からないな。


名前: E-mail(省略可)
全部読む 最新50 1-100 メール受信 掲示板トップ リロード