Neunomizuの日記

俺だけが俺だけじゃない

米国(短期)留学週記~六週~

tags: 米国(短期)留学週記

先週の自分への課題ができたかどうか

  • 個人的なやつ
    • [x] RailsのTutorialを終わらせる(半分くらい終わっている)
      • 完璧に記憶から消去されていたので初めから始めた
      • Rails完璧に理解した
    • [ ] 毎日,AOJの問題をRubyで埋める
      • 白目
    • [ ] 毎日,AtCoderのC問題以下をRubyで埋める
      • 上と同様
    • [x] Rubyを書け!!!
      • 書いたと思う!!!!
    • [x] Github更新
    • [x] メールの返信をすぐにする(DさんとDさんとSさんに返信をしろ)
      • 返信した
  • 大関
    • [ ] I1実験のレポートを終わらせる
      • \(^o^)/
    • [ ] I2実験まで進める(I3は来週で...)
      • (^o^)
    • [x]機械学習の論文を2本読む(VAEとBERTをおすすめされたのでもう一本は考え中)
      • BERTを読んだが転移学習・fine-tuning・feature-basedがよくわからなかったのでそこら辺の論文を読む
      • もう一本は時間の無駄だった感
    • [ ] アルゴリズムの課題を火曜日までに終わらせる
      • こいつで時間を取られて水曜日くらいまでにやる予定のことが...
  • こっち関連
    • [ ] 水曜日までに離散数学の課題を終わらせる
    • [ ] CLRSを13章まで読む
      • 白目

迫るインターン・期末

インターンと期末試験が迫ってわちゃわちゃしてます

こういうときにこそTime-managementが鍛えられる(白目)

俺寝てないイメージあるかなー?それどこ情報

正直こっちの単位が取れても取れなくても東大での卒業単位には入らないからどうでもいいんですが,せっかくの機会なので情報科学の数理的な方を頑張りたいです...

最近の生活スタイルがVampire

眠くなるまでコーディング・勉強(効率悪すぎ)・Youtubeを見るみたいな生活

Youtubeを見すぎてこんな感じの生活です(拾い画)

不眠症で悩んでいたのですが,寝ようとしなければいいことに気付いた(←天才)ためにこのような動きになりました

実際は寝た方がいいんだろうけど,寝れないのだからしょうがない

夜中のブルーライトには本当に気を付けましょう(帰国したら10時就業開始なんだけど大丈夫かな...)

帰国まで昼夜再逆転を目指します!!!!

文楽しい

今まで論文で読んだことがあるのが小難しい日本語で書かれた人文社会科学系の論文だけでした.だから,論文にはつまらないというイメージが有りました

一方,機械学習の論文を課題で読まされているのですがこれは面白い

主張を支えるために論文の著者が頑張っているのが伝わって面白いです

しかも,英語で書かれた理工系の論文なので日本語の論文のように隔靴掻痒な思いをしなくて済みます

副次的にですが,自分にどんな知識が足りないのかもわかるのでよいです(いやこっちがメイン)

今までは闇雲に教科書(枯れた知識)を読んでいましたが,論文を読んで最先端の知識を取り入れるのも面白いですね

最初は雰囲気で読むことが多そうですが,ガンガン論文読んでいきたいです

こんな機会を与えてくださった学科の先生に感謝です!(煽りではなく)

来週までの目標

期末試験に課題に...うつびお...

個人的なやつ

大関

  • 機械学習の論文(転移学習関連)を読む
  • パタへネを...読めるだけ
  • I1実験のレポートだけでも...(他の課題で詰まっている...)

こっち

"On Machine Learning and Programming Languages"を読んだ

tags: 論文

On Machine Learning and Programming Languages

推測できること

機械学習プログラミング言語について書いてある論文で,もしかしたら機械学習に最適化された言語の話かな?

Abstract

アブストアブスト

機械学習のためのfirst class programming language(関数をオブジェクトや引数として扱える言語のことかな?)(ぐぐっても出てこなかった)の重要性とどのように言語か話す

推測できること

機械学習というよりはプログラミング言語寄りの論文らしい

結論

古くからあるプログラミングの考えと知恵を犠牲にせず,機械学習プログラミング言語のいいとこ取りをする必要がある

結局どんな論文だったのか

割と時間の無駄感あった()

何についての論文か

先行研究と比べた強み

特に無し

技術や手法のキモはどこか

特に無し

どうやって有効と示したのか

特に無し

議論はあるのか

機械学習に合わせて機能の制限されたライブラリでなくもっと発展的な言語(のように使用できるライブラリ)を作るべきという主張のみ

わからなかった点

  • first-classの定義が曖昧でよくわからなかった(多分微分可能な関数とか色々な概念に関して言っているっぽい)
  • HPC
    • High-performance computing

次に読むべき論文は

特に無し

読むのにかけた時間

30分

論文"BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding"を読んだ

tags: 論文

Title

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

推測できること

trainデータになんらかの加工をするDeep Learningを利用した自然言語処理の新手法に関する論文かな?

Abstract

アブストアブスト

  • BERT とは Bidirectional Encoder Representations from Transformers の頭文字を取ったもの.
  • BERTは左右両方の文脈を条件に,"deep bidirectional representation"をラベル付けされていない文章(教師なし?)から前学習させる手法
  • やることに合わせてアーキテクチャをそこまで最適化させずにただ出力層を一つ加えるだけで微調整され,質問に答えたり,推論をする最新のモデルができる

推測できること

  • 今までの手法よりもより汎化性能が高い?

結論

  • 近年,転移学習によりリッチで(色々な文章からということかな?)教師なし事前学習は欠かせないものだと示されていた
  • その結果がリソースが少ない(計算資源のことかな?)仕事でも"deep unidirectional architecture"から利益を得られていた
  • この論文の結果は上の発見を"deep bidirectional architecture"にも広げたこと(同じ"pre-trained model"でも)

結局どんな論文だったのか

  • BERT
    • 2 stepが必要
      • pre-training
        • 異なるモデルのラベル付けのされていないデータでpre-trainingされる
      • fine-tuning
        • downstreamのときにラベル付けされたデータで微調整される
    • 他と違う点: 異なるタスクに対して統一されたアーキテクチャ(pre-trainingを通したアーキテクチャと最終的なdownstreamのアーキテクチャに最小限の違いしかない)
      • Masked LM
        • ランダムに入力のうちの15%を隠して,それを予想させることでモデルが多層化された文脈から目標(ここでは言葉?)を予想できるようにすること
      • Next Sentence Prediction
        • モデルに文章の関係を理解させるために,コーパスから作ることができるbinarized(真偽値に置き換えられたということ?)次の文章の予測のためにpre-trainをすること
    • Fine-tuning BERT
      • 2つの文章感で双方向にcross attentionをしているらしい(よくわからない...)(bidirectional transformerの説明かな?)
      • これで計算にかかるコストが少なくなっているらしい

何についての論文か

転移学習で双方向的に言語モデルを更新するという手法を用いて自然言語処理の新しい手法についての論文

先行研究と比べた強み

  • Bidirectional Transformer Representation
    • 過去のモデルでは片方向からの文脈に依存して言語モデルの更新をしていた
    • これで精度が向上した

技術や手法のキモはどこか

上と同様

どうやって有効と示したのか

  • BERTに対しては下記のテストのスコアで示した
    • GLUE
    • SQuAD v1.1
    • SQuAD v2.0
    • SWAG
  • NSPに対して
    • MLMを用いてLTR(Left-to-Right)モデルと,NSPを用いるモデルを比べた
      • 結果はNSPを用いた方がスコアが高い
    • RTLもできるよね(でもやらない)
  • モデルのサイズに関して
    • 層,隠れunit,attendtionのheadの数を変えてやってみた(ハイパーパラメエータ,訓練方法は前と同じ)
    • モデルのサイズを非常に大きくするとデータのサイズが小さくても?(very small scale tasks)性能がかなり向上するらしい
    • ただし,限界はある
  • fine-tuningに関して
    • 代わりにfeature-basedを使ったモデルと比較
    • 大差はなかった
    • BERTはfine-tuningでもfeature-basedな手法でも効果的らしい

議論はあるのか

うーん,わからん

調べた点

  • deep bidirectional representationとは?
    • 深層学習の隠れ層と違うのこれ?(入力層と出力層がないけど)
    • 読んだ
    • 言語モデル(Transformer)を使って双方向に学習させる
    • 変数が多いだけ?
  • "transfer learning"
    • 読んだ
    • 似たようなドメインA,Bがあり,すでにAで学習したモデルがあるとする
    • その際,Bにそのモデルを使うことが大まかに言うと転移学習(transfer training)
    • CNNでは上位層は普遍的な特徴,下位層にはrichな特徴が抽出されるから上位層のみ再学習させればよいという考え
  • "pre-training"とはただの"training"と何が違うのか?
    • 転移学習に必要なものらしい
    • モデルの学習に必要なドメインの異なるデータ
  • "fine-tuning"とは?
    • "pre-train"モデルの重みを流用して新たなモデルを再学習させること
  • "mask R-CNN"とは?
    • 物体を切り分ける,検出すること
  • "attention"とは
    • ゼロから始めるdeep learning2でやった記憶があるが忘れた
    • 読んだ
    • 読んだ
    • 連続したデータを扱う際に重要なポイントに注目する手法
    • 出力の際に隠れ層を用いて,入力側の隠れ層を加重平均した文脈ベクトルを用いて出力を予想する

次に読むべき論文は

知識が足りなかったので,転移学習に関する論文とfeature-basedとfine-tuningに注目した論文を読むべき

読むのにかけた時間

5~6時間くらい?

前提知識が少なすぎて時間が溶けた

米国(短期)留学週記~五週~

tags: 米国(短期)留学週記

先週の自分への課題ができたかどうか

  • 個人的なやつ
    • [ ] 毎日ABCのD問題を最低1問やる
      • 課題をやっていたら普通に忘れた...
  • 大関
    • [x]信号処理の過去問をある年度の分終わらせる
      • 終わらせたが,過去問解答の寄せ集めを作ったが始動が遅すぎた
      • 間違い注意
    • [ ]I実験のレポートを終わらせる(日本時間の8/1=カリフォルニア時間7/31締切)
      • 思った以上に多くて終わらなかった
      • 今週終わらせます
    • [x]教授にレポートに関してメールを送る
      • 送った
      • やることは決まったのでやる
  • こっち関連
    • [x]アルゴリズムの中間試験があるのでその勉強
      • した.だが結果は芳しくない...
    • [x]課題を木曜日までに終わらせる!(アルゴリズム離散数学)
      • 課題が終わってよかったね〜がんばったネ❤️

反省点

先週言ったように朝起きたときにダラダラしないやつはいい効果がありそうなので続けたいと思います

ダラダラしてしまうということで,今週も気持ちの切り替えが自分は苦手だなぁと感じたんですが今週やってよかったのは時間を区切ってやるやつ(いわゆるポモドーロテクニック)

25分やって, 5分やって25分休むを無限にやるというすごく単純な方法ですが,ダラダラやってしまう僕には効くので続けていこうと思います

メンタルがやれたときの対策

思った以上にアイドルの動画を見ると癒やされますね

受験期もそうだったんですが, 僕の場合辛いときには思った以上にアイドルが効果的なようです

誰がかわいいとか言うと角が立つので何も言いません

みんなかわいいよ

自分の好きだったアイドルグループの初期の写真(なお現在, その面影はない)

ギリシア神話・超簡単OSSコミッター

前々から学習用サイトを作りたいなぁと思っていたのですが, 妄想あるあるとして,無限に膨らんでいくしやりたいことって細かくは少しずつ変わるので実装できる力がつくのを待っていると絶対にできないんですよね

亀が必要とする技術力で, アキレスが現在の実装力です

とりあえず少しずつでいいからやりたいことに近いことをGithubに書いていこうと思います

リンク

本当に全然中身が充実していない(他のwikiへのリンクとか混じっているし似たようなサイトもありそう)ですが,2Aで後輩がこの学科に入ってくる頃にはもう少し見られる内容にしたいですね...

僕の悪いところとして手を先に動かさないところがあると思うので, 徐々にできる範囲で作ってみては改善するという風になるぞぉぉぉ...

もし間違った内容があったらpull requestをしてください😇

世界で一番簡単にOSSのコミッターになれる方法だと思います笑

You can (not) 言い訳する

あんまり環境を言い訳にするのはかっこよくないよねという話です

自分は色々手を出してしまう人間なのですが,これで自分を正当化してしまう節があるなぁと思うことがありました

「人の振り見て我が振り直せ」なんてことわざがありますよね.

最近だと我が振りを直さずにただ人の批判だけをしている人が目立つ気がします(?)が,やっぱり自分の振りを直さないとねということを感じることがありましたー

勉強している自分って正当化しやすいですけど, もっと謙虚に生きてもっと高みを目指したい(J-POP風)

よく知りなさい!襟を正して勉強をしなさい!真実を伝えなさい!

追記

Githubtexレンダリングをしてくれないので途方に暮れています

追追記

Jupyter Notebookならtexが書けるらしい

TODO: Markdownもそっちで書けるし,試してみる

来週までの目標

  • 個人的なやつ
    • RailsのTutorialを終わらせる(半分くらい終わっている)
    • 毎日,AOJの問題をRubyで埋める
    • 毎日,AtCoderのC問題以下をRubyで埋める
    • Rubyを書け!!!
    • Github更新
    • メールの返信をすぐにする(DさんとDさんとSさんに返信をしろ)
  • 大関
    • I1実験のレポートを終わらせる
    • I2実験まで進める(I3は来週で...)
    • 機械学習の論文を2本読む(VAEとBERTをおすすめされたのでもう一本は考え中)
    • アルゴリズムの課題を火曜日までに終わらせる
  • こっち関連
    • 水曜日までに離散数学の課題を終わらせる
    • CLRSを13章まで読む

人間関係をReset-Set型と人生Delay型

tags: 情報

人生の7割はフリップフロップで説明できる

はい.学科の人が7/31で期末試験が終わるところ,まだ米国に3週間滞在するピカチュウです

今回は実は遷移を理解していないけど,まあそういうもんだよなとされがちなフリップフロップの遷移を丁寧に追っていこうと思います

なにせ,

A flip-flop accounts for 70 % of life

チューリング賞受賞者が言うほどです...1

こんな大事なものをなんとなく真理値表だけ見てわかった気にっている人は科学技術の恩恵に与ろうだなんて思う資格はありません!

即刻家に帰ってハードオフに電子機器を売って,電子炊飯器を使わずにご飯を炊いて,まずい飯を食いながら育ててくれた人と電子機器に感謝しなさい!

そもそもフリップフロップとは

フリップフロップ (flip-flop) は、二進法の基本である1ビットの情報を一時的に"0"または"1"の状態として保持する(記憶する)ことができる論理回路で、順序回路の基本要素である。 2

"ある"と"なし"という2つの状態を保持することができる論理回路のことですね!

これによって,レジスタ,メモリ,キャッシュなどが構成されているので考案してくれた先人に感謝!

突然LINEを消すやつ

質問です!

あなたは突然SNSのアカウントを消したことはありますか?

僕ですか?もちろんYES!

僕と似たようなフリップフロップRS型(Reset-Set型)フリップフロップです(SR型とも呼ばれます)

こいつは突然今まで保持していた値を消してしまうタイプのやべーやつ

もしこういう人と長く友達でいられる人間は将来どこかで損をしそうですが強く生きてほしいです

Delayのある俺の人生はもうおしまい

浪人(留年)で2年も人よりDelayしている?

引きこもって10年目?もう社会には復帰できないDelay?

僕ですか?もちろん浪人してます!Delayバンザイ!

そんな人よりも遅れちゃっていると感じちゃいがちなあなたにはD型(Delayed/Data型)フリップフロップ!

こいつは直前の信号を出力する心の優しいフリップフロップです

こんなに優しいフリップフロップばかりじゃないってことを社会に出て知ることになるのはまた別の話...

遷移

御託が長い

では具体的に遷移を眺めてみましょう

RS型

真理値表は次のとおりです

ちなみにS,Rは"Set","Reset"を表しています

Qはよくわかりませんがなんかそうなっています(誰か知っている人教えてください><)

S=1, R=1のときは動作が保証されていないので注意してください

S R Q_next
0 0 hold Q_old
0 1 0
1 0 1
1 1 prohibited

RS型フリップフロップ自体

どちらも0だと値が保持される

片方が0でもう片方が1のときは次のS(Set)の値になる

D型

真理値表は次の通りです

D,Cはそれぞれ"Data","Clock"を表しています

また,Cの"↑”,”↓”はそれぞれ1, 0のことです

D C Q_next
0 0
1 0
x hold Q_old

D型フリップフロップ自体

C=1(Clockが立ち上っているとき)

C=0(Clockが立ち下がっているとき)

こう見ると,D型フリップフロップは最終的にはSR型フリップフロップと同じ形になっていることがわかります

同じ働きをしているので当たり前(?)

まとめ

フリップフロップと同じ動きをする人間と関わらないと人生の7割,得をすることができます

ちなみにこの記事を書いたのは一応電気系なので電気系っぽいことも書こうかなという動機からでした

ではまた