Archive for the ‘複雑研’ Category

ゼミ付けの日々

金曜日, 9月 11th, 2015

m_2015091110005255f2a6541afc2 m_2015091110134455f2a9585fb77

沖縄高専との交流発表会(沖縄複雑系研究会)が9/16(水)にあり、それに向けた追い込みということで発表予定者の発表練習をしてました。学生からの希望で(素晴らしい)。諸事情で欠席・途中退室した学生もいますが、それでも10名強いるので13時から開始して終わったのが18時前。ま、こういうイベントがあると濃密(?)なやり取りにもなるし、研究指導に時間割くのは本来の仕事なので嬉しいです。個別ゼミ、研究室の週ゼミ、とゼミだけで今週は10時間越えてるな。

交流発表会自体は2011年から始まってるらしいので、今年で7年目になるようです。学生自身も互いに刺激し合えているので良いイベントだと思うんですが、公的なものではない(だから運営とか楽ではある)分、正式な研究発表実績としては残り難いかも? 別に良いんですが。

今年は宮田先生も参入を予定しているらしく、

  • 琉大から情報4研究室(遠藤研・山田研・當間研・赤嶺研)+機械システム1研究室(宮田先生)
  • 沖縄高専から2研究室(佐藤研・玉城研)

の合計6研究室合同になるようです。結構大所帯になってきました。たまに話題になるのだけど、発表というよりは(ハッカソンとか)合宿形式で何かやれないかしら。

晴れのち曇りのち雷雨。複雑研全体ゼミはCNNなお話。

月曜日, 6月 1st, 2015

降った時間そのものは短かったようですが、帰宅するタイミングで雨がパラパラ。数分歩いてると土砂降りになって雷さままでお出まし。ま、たまにはこんな天気の中歩くのも良いです。水遊び自体は好きなので濡れても構いません。職場に向かってる最中でなければ(重要)。そういう意味で、今日は帰宅時間での土砂降りだったので良かった。

m_20150601043915556be1f3b67ef

それにしても湿気が厳しい。午前中は橋の向こうにいく用事があったのだけど、その往復で汗ぐっしょり。着替えも用意してるけど制汗剤がそろそろ切れるな。塩分も気持ち多めに取ろうということでお昼はラーメン。その前にあった沖縄そば屋さんも悪くなかっただけに残念なんですが、ラーメンはラーメンでうまい。

複雑研全体ゼミは深層学習の6章「畳込みニューラルネット(CNN)」。もうここまで来たのか(十分理解できてるとは言ってない)。理解を深めるためには

あたりも読んでみると良さそう。(これも全部事前にピックアップ提示してあるのだけど〜w)

読みっぱなしが気になる輪読ゼミ

月曜日, 5月 25th, 2015

複雑研全体ゼミは深層学習の5章「自己符号化」なお話。担当範囲を1週で終えられないなら複数週に跨がって良いし、単体で分かり難いなら適宜他の文献も参考にして良いよ(ピックアップ分もある)とか伝えてはあるんですが、どうにもその週を過ぎれば良しと考えてる節も少し。質疑では割と自分なりの解釈を丁寧に話してくれるので、完全ではなくてもそれなりに理解しようと頑張ったのは分かるのだけど、それを発表を通して伝える技術が足りてないという側面もあるか。ということで「次回はもっと相手に伝えるような努力が見れる発表を〜」と伝えるぐらいに。一つずつ丁寧に読んでいって欲しいとも思うのだけど。

自己符号化の章構成は次の通り。

5 自己符号化
5.1 概要
5.2 ネットワークの設計
5.2.1 出力層の活性化関数と誤差関数
5.2.2 重みの共有
5.3 自己符号化器の動き
5.3.1 データを表す特徴の学習
5.3.2 主成分分析との関係
5.4 スパース正則化
5.4.1 データの過完備な表現
5.4.2 最適化
5.4.3 スパース正則化の効果
5.5 データの白色化
5.6 ディープネットの事前学習
5.7 その他の自己符号化器
5.7.1 多層自己符号化器
5.7.2 デノイジング自己符号化器

ここでスパース正則化と白色化の話も出てくるのね。データ工学寄りの話を盛り込んだ章といったところかしら。

P.S.
kassui20150525

昨日の土砂降りで貯水率が結構な改善を。一度にまとまりすぎるとデメリットも強いのでもう少しなんとかなって欲しいものだが、自然のことだしなー。

全体ゼミ4回目(深層学習3章〜4章)が終了

月曜日, 5月 18th, 2015

複雑研ゼミは深層学習 (機械学習プロフェッショナルシリーズ)の輪読に突入して2回目。今日は「第3章 確率的勾配降下法」と「第4章 誤差逆伝播法」。いくつか飛ばしちゃってる所があるのが勿体無いのだけど、場所によっては「個別に勉強してね」というやり方もありっちゃありなんだよな。そもそも論としては「シンプルな誤差逆伝播法そのものを手計算してみたら」と思うのだけど、やってる人はいなさげ。それも含めて「全体ゼミで何を学ぶか」ではあるのだけど、深層学習やるというのならこの辺りは実体験した方が良いんじゃないかなぁと思いつつ、後で突っつくぐらいにしとこう。

以下は発表聞きながらメモした疑問点。ページ番号は本じゃなくてスライドなのでここでは無意味だな。

Q: 勾配降下法とは?
 p.4, 具体的に勾配はどう計算する?
 問題の規模が大きいとニュートン法が使えなくなるのは何故?
C: p.5, 数式はちゃんと書こう。(少なくとも独自記法はやめる)
 p.5, どのあたりが確率的?
 p.6, 「訓練データの収集と最適化の計算を同時進行で行うことができる」とは?
 p.7, 「各クラスの出現頻度が等しい場合は、同サイズのミニバッチを作るのが良い」そうじゃない場合は?
 p.8, テスト誤差はどう実施したら良い?
C: 図を書く時は軸の説明を
p.11, 正則化に「重み二乗和」以外にどんなものがある?
 重み減衰?
p.13, 具体的な「正規化」の例?
p.15, どう「複数のNNを組み合わせる」?(合議?)
p.16, 学習定数の決め方
 AdaGrad はどんな手法?
 1. 学習係数を大きい->小さい(アニーニング:焼き鈍し)
 2. 層毎に学習幅を調整
p.19, 重み初期化活性化関数(省略)

C: 分からない所は省略しない方が

>4章
p.30, n_k?
p.36, 具体的な計算例?
p.38, 計算機毎の定数ε?

ゼミ中のツッコミとしてはこれまでに出てきた概念との結びつけた質問したり、現時点ではまだ深掘りされてない(そもそもこの本で書かれてるか分からない)側面について質問したりする形で考えさせたり、討論させたりする形でイメージを形作らせてみています。教科書への脚注を追加してるというのが近いのかも。

連休明けのスロースタート

木曜日, 5月 7th, 2015

m_20150507103757554b40857cdcc

がっつり休んでたらがっつりやってるはずですが、実質的に休んだのは後半2日間だけなGW。とはいえ、やりたかったタスクも最低限やりたかった2番目までは終えたので、2日間は何も考えずに休めました。明日〜週末ぐらいで3,4番あたりをやろう〜。

複雑研全体ゼミ2回目はデータサイエンス講義の2章最後までを終了。イントロダクションのつもりで2章までやる予定だったのでこれで一区切りついたのですが、やや消化不要な気も。用意されてる演習をやっても良いけど中途半端な内容に感じるんだよな。

P.S.
人は一ヶ月でエンジニアになれるのか – 詳細解説」という、プログラミングの講義とOJTとでやれること、やれないことみたいな一例が。あれこれうまく組み合わせて重複しないように補わせるとか、だらだらしないようなシステムというか「勉強(読書)」するなら「まとめさせてpublishさせる」とか。現場ならではの視点はこちらにはなかったのだけど、研究室を現場と見立ててやれると面白そうではある。

レポートが揃ってから採点しようとすると始められない

月曜日, 4月 27th, 2015

先週末から腰の調子が悪くて。土曜日の新入生歓迎LT大会 2015振り返りbyまえけん先生)に参加してた時点では「何か具合が妙だな」ぐらいだったのが、日曜日昼頃から少し痛みが。寝る頃には注意して腰動かさないと「ぐっ」とくるまでに。月曜になっても改善してないので仲村整骨院へ。こうかくと痛みが出たから来院したように見えるけど、去年の10月からずっと通ってたりするんだよな。隔週ぐらいで「癖」になってるのを整体師直してもらってるます。という具合に痛みとは無関係だった所に急に痛みが出てきてびっくりしてるのだけど、何か生活を変えたという訳でもなく。要因が一つということでも無いのだろうけど、ここ数週間という点では食生活が手抜き過ぎ(時間無いからインスタントとか、間食多かったとか)だったかなぁ。

4月最後の週ですが、ようやっと複雑研全体ゼミが開始。半分学生の自主性に任せてみてるのですが、その分「どういう目的で何を読むか」から検討入ったとか、合同説明会/教職/IPA資格試験イベントが被ってたとかでこんな時期までズレてしまいました。今期はデータサイエンス講義深層学習を輪読することに。前者を広い意味でのイントロダクションとして冒頭2章まで読む事にし、その後で深層学習本(NNも含む)へ。それが終わったタイミングで前者の残りを読むかどうか判断することになりそうです。

実験1の1週目レポートがまだ全員分揃っていません。しくしく。いや、例年全員分揃うことは稀(=例年誰かは不可になってる)なんですが。PD2先週の授業へのレビュー(演習チェック*2件)が終わったので、明日から実験レポートの採点するか。

複雑研全体ゼミの準備

金曜日, 3月 13th, 2015

複雑研全体ゼミは「複雑研(遠藤研+山田研+赤嶺研+當間研)の新4年次対象」で毎年やってるのですが、中身は毎年変わってます。昔は複雑系入門で固定してたのだけど、流石に古いかという話で。いや、古くても良書なので御勧めではある。

2014年度は統計ベースで話が進む機械学習本をあれこれチョイスした中から絞ってやりました。2015年度はより幅広く機械学習を中心にした本をチョイスしてたのですが、赤嶺先生から「深層学習どう?」という話が。NN自体を知らない学生もいるので、やるとするならNN or パーセプトロンぐらいからか。

階層型NNの勉強を終えたら、

あたりで深層学習周りのイメージを掴んでから、諸技術について個別に論文and/or解説を読んでいくというのが良さげかなー。

複雑研全体ゼミ(申し送り事項)、個別ゼミ

火曜日, 8月 12th, 2014

昨日はお休みで、今日から出勤。のはずなんだけど、入試業務で昨日中にやっときたいことがあって昨日も午前中は来てました。が、事務の都合でやれず。しくしく。そして今日も予定外のブッキングがあってまともに入試業務やれたのが夕方前という。実質的に始まりが2日間遅れになりつつあるけど、ちゃんと予定通りに終われるんだろうか。後ろにバッファあることはあるけども。

そろそろ期末試験期間も終わりですが、先生の出張やら台風やらの影響でまだ続いているのもあるらしい。課題出してない人もちゃんとやろう。出さなくていいなら最初から課題設定しないし。

明日から院試が始まりますが、321の試験会場設営しようと思ったら遠藤先生と学生らが何やら動画撮影タイム。キャリア実践での振り返りビデオ?っぽいのだけど、面白そうなことやってるなー。


複雑研全体ゼミの輪読ゼミは今日で終了。英語+数学+機械学習な勉強会のつもりで

ぐらいに絞り込み、当初は「The Elements of Statistical Learning」を。辛いという声多数で途中から「統計的機械学習―生成モデルに基づくパターン認識」に変えたのだけど、結果的には「英語少し+数学少し+機械学習少し」という感じでどれもこれも少しずつは前進できたかも? という感が強いか。

数学だけに絞るというのも考えてはいたのだけど、それだと1年次〜3年次までの復習だけっぽいのがなということで応用例として機械学習を付け加えたモノを選んでいました。想定通り「それぞれの部分をやれた」のは良かったのだけど、例えば「全体ゼミでは数学だけ」「応用は希望者募ってやる」みたいに分けてやっても良かったかもしれないな。数式を追いかけていくのを省略しまくってる(理解してる訳ではない)ケースも少なくなかったので。それでもゼロではなかったか。


個別ゼミは1巡目最後の慶留間くんで、ここ1,2ヶ月ぐらいを振り返って状況整理から。やりたいことはLDAで分類されたトピックに分かり易いラベルなり何かを付けたいというもので、結果的には単語かもしれないし、フレーズかもしれないし、文章かもしれない。それ以外にも「見える化」と考えるなら何かしらの可視化手法が参考になるだろうし、トピック間の差異を見たいだとか、複数トピックを俯瞰したいだとか「視点を置くレベル」に応じた表現方法があるよね、とか。

トピックを分かり易くしたい、というのが趣旨なんだけど「そもそもそのトピックって何なの?本当に一つの固まりとして妥当なの?」というのもあって、どこを深掘りするかという問題設定も残っているのだけど、今の所は妥当性については少し手抜き対応の予定か。


m_2014081209320253e9df12ba87b

晩ご飯は久しぶりにお好み焼き。アクセントのつもりで入れたゴーヤーが良い働きしてました。これからも必ず入れようと思うぐらいには良かった。前に買った粉をようやく使いきったか。割と使いやすいはずなんだけど、卵を買うのを躊躇してしまって、買ったら買ったでそのタイミングでは作り置きがあってゆで卵にして食べちゃうとかで、お好み焼きそのものを食べる機会は少なかったんだよな。

複雑研全体ゼミ、鍵、GTEC、word2vec本

火曜日, 8月 5th, 2014

m_2014080503414553e05279ca975

今日は早朝から複雑研全体ゼミで、予定通りなら来週で一段落着くらしい。

お昼は久しぶりに鍵へ。鍵のお兄さんは和服好きらしく、番傘差してたという理由で大盛り->特盛にしてくれた+サービス券貰ったw 通りで調理中にちらちらこちらを見てたのか。皆も和装でPRしてみよう()。といっても学生は既に割り引きとかあるっぽいから良いのかもしれないが。

GTECについて情報がいまいち共有されていないっぽいですが、学年暦にあるように、3年次がやるのは来年の2月10日です。


全体ゼミ、「統計的機械学習―生成モデルに基づくパターン認識」の第11章「ベイズ推定法におけるモデル選択」では、最尤推定法におけるモデル選択のベイズ推定版という話で、ある意味で基本的な流れは一緒。ただしベイズ推定では「訓練標本Xをパラメータθに基づいて生成されるモデルq(x|θ)として考え、そのパラメータθはハイパーパラメータβによって制御できる(p(θ;β))」と考えたとき、周辺尤度を最大にする形でハイパーパラメータを設定しようという話になるのでちょっとややこしい。パラメータθはハイパーパラメータβで制御できるので、最適なβ(周辺尤度を最大にするβ)を用いてp(θ;β)を設定したいのだけど、その際の基準としてBICを使おうという話。情報量基準についてはこの記事や関連用語でググると良いんじゃないかと。

第12章「カーネル密度推定法」では、ノンパラメトリック法(ガウスモデルとか特定モデルを仮定しない手法)についての紹介で、ベーシックなヒストグラム法(とその問題点)、改善手法としてのパーゼン窓法とカーネル密度推定法という流れで比較的スムーズなストーリー。趣旨としては「ノンパラメトリック法における確率密度関数の近似は、近似する際の領域Rを小さすぎず大きすぎず適切に設定すること」で精度良く推定できるという話で、代表的な手法と、それを更に良い結果にするための交差検定(交差確認)しようという話で〆。


午後は昨日からちらほら眺めてるword2vec本で、例題にある「wikipediaのデータセットからmecabで分かち書きさせて特徴量作る」のをやってみてたのですが、昨日からやってた「wp2txtを使ったダンプデータからテキストへのコンバータ」だけで10数時間かかってて、それが今朝頃終了。その後の特徴量作りはスレッドオプションがあったので30分程度で終了。早い。wp2txtも並列処理対応してくれれば良さそうだけど、中身はrubyなのか。と書いておくと誰かやってくれそう(ぉ

word2vecで用意されてるスクリプトのdistanceで「指定した単語に似た単語上位N件(コサイン類似度なので角度的に近い単語を探している)」を眺めてみることができて、例えば、

  • 開発に最も似ているのは設計、次に構築、技術、、、
  • ゲームに最も似ているのはロールプレイングゲーム、アクションアドベンチャーゲーム、ベルトスクロールアクションゲーム、、、
  • BLに最も似ているのはMG、SM、QF、、、

みたいなことが眺めたり。

興味のある人は手持ちの MacBook Air (OS X 10.9.2) で word2vec を動かしてみるとか、自然言語処理の最新手法”word2vec”で艦これ加賀さんから乳を引いてみるとかを参考にすると良いんじゃないかと。

P.S.
ファミマの牛乳プリンシリーズは割と好きでちょくちょく食べてます。今回のも旨し。

m_2014080510114153e0addd865b1

全体ゼミ、PD2撮影対応(ケーキ)

火曜日, 7月 29th, 2014

昨日に続き、今日も空調の調子がいとをかし(誤)。今日は冷房モードじゃないと冷えず。リモコン側の発信信号と空調本体での受信信号が違ってるのかなとも思うのだけど、本体側で動作状態を確認する術が無いのだよな。一体なんなんだー。

m_2014072904105653d71ed087080

今日は全体ゼミとPD2の取材対応(という名のケーキもぐもぐ)してたぐらいか。ちなみに、良く「甘い物好き」と勘違いされますが、基本的に食べることが好き、というのが正しい。美味しいご飯あるとそれだけで幸せ気分に浸れます。他の時間は予稿のプロット検討しながら関聯論文漁り。RMTとか懐かしい響きだ。

学習サポートコーナー設置のお知らせなるものが始まるようですが、これはバイト代出るはずなので、興味ある人は山田先生に話を聞いてみよう。


朝一の全体ゼミは、「統計的機械学習―生成モデルに基づくパターン認識」の9章&10章。どちらもベイズ推定なお話。

9章「ベイズ推定法」では、これまでの章で扱ってきたパラメトリックな手法(正規分布なり特定モデルを想定してそのパラメータ調整で推定する手法)とは異なり、「無数のパラメータを考え、それらをパラメータの事後確率p(θ|X)に従って平均化することよにって確率密度関数を近似する」というのがベイズ推定。この近似方法にもいろいろある(MAP推定、共役事前分布を用いた導出)よねというお話。

頻度主義(最尤推定法)とベイズ主義(ベイズ推定法)との違いはマルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)が分かり易いんじゃないかと。

10章「ベイズ推定の数値計算法」では、パラメータの事後確率さえ与えられれば原理的には計算できるのだけど、積分の計算コストが大きすぎるから「数値積分」で解こうというお話。代表的なモンテカルロ積分(p(θ)に基づく標本を多数ランダムに生成し、その結果から面積を推定する)から始まり、その事後確率が正規分布等の代表的な分布に従わない時に使う代表的な「重点サンプリング法」。この「所望の確率分布に従う標本を直接生成する手法」を別側面から実現する手法として「逆関数サンプリング法(累積分布関数の逆関数に一様分布に従う確率変数を通す)」、「棄却サンプリング法」、「マルコフ連鎖モンテカルロ法」といった代表的な手法が紹介されてました。

乱数を逆変換法で求めるという話はRで学ぶ逆変換(逆関数)法が分かり易いんじゃないかと。