たにしきんぐダム

プログラミングやったりゲームしてます

Coursera / Sequence Models (week2) 受講メモ (Natural Language Processing & Word Embeddings)

Deep Learning Specialization 5つ目のコース www.coursera.org

今回はみんな大好き word embedding


  • Coursera 以外の参考資料
  • one-hot encoding
  • Word Embedding とは
  • Word2Vec(skip-gram)
    • skip-gram
    • algorithm
    • Negative sampling
  • GloVe
  • Debiasing word embedding
    • Identify bias direction
    • Neurtralize
    • Equalize pairs
  • Application
    • padding
続きを読む

Coursera / Sequential Model (week1) 受講メモ (RNN/LSTM/GRU/BiRNN/DeepRNN)

Deep Learning Specialization 5つ目のコース www.coursera.org

CNN より RNN のほうが興味あったので先にこっちを先にやった。分量が多くなりそうなので分けておく。やっとこさRNNだよ。

  • RNN
    • feed forward neural network が得意でないタスク
    • 概要
    • forward propagation
    • back propagation through time
      • コスト関数
      • 時刻tにおける微分
      • 時間方向の逆伝搬
      • 更新式
    • vanishing / exploding gradient problem
      • initialization / activation function
  • LSTM
    • LSTM は gradient vanishing を対策できとるんか?
    • gradient clipping
    • よくわからなかったポイント
  • GRU (Gated Recurrent Unit)
  • Bidirectional RNN
  • Deep RNN
続きを読む

Coursera / Structuring Machine Learning Projects 受講メモ

Deep Learning Specialization 3つ目のコース

www.coursera.org

この講座では機械学習プロジェクトの進め方(メトリクスを取りましょう、bias/variance/human-level performanceがどういう状態のときはどう対処しましょうみたいなこと)を学んでいく。Deep Learning Specialization のコースの1部であるが、Deep Learning じゃなくとも適用できそう。

ただ結構抽象的な内容なので実務で機械学習プロジェクト(学習モデル構築じゃなくても良いので)に携わったことがあったり、研究で機械学習プロジェクトを長期間回したりしてないといまいち実感がわかないかもしれない。

  • Setting up your goal
    • できるだけ単一の評価指標を定めて複数のモデルを一元的に比較できるようにできると意思決定がしやすいよという話。
    • satisficing metric と optimizing metric
    • train / dev / test set
  • human-level performance
    • 概要
    • human-level performance とモデル精度を比較して bias を減らすか variance を減らすか作戦を決める
  • Error Analysis
    • 概要
    • エラーの原因を正すためのデータを集めるのが難しい場合は?
    • プロトタイプはシュッと作ろう
  • Mismatched training and dev / test set
    • training set と dev / test set の分布が違う場合
    • そのような場合の bias / variance の計算
    • data-mismatch をどう解決するか
  • transfer learning
    • 概要
    • transfer learning がうまくいく直感
  • multi-task learning
    • 概要
    • pros / cons
  • End-to-end deep learning
続きを読む

Coursera / Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization 受講メモ

Deep Learning Specialization の 2つめのコース

前回: Coursera / Neural Networks and Deep Learning 受講メモ - たにしきんぐダム

www.coursera.org

www.coursera.org

データの正規化、様々な正則化手法、gradient descent with momentum や Adam などによる学習の高速化、batch-normalization、gradient checking、ハイパーパラメータチューニングの基本的な手法など。振り返ってみるとかなり盛り沢山な内容だった。jupyter notebook で手を動かすのは本当に勉強になる。

  • Bais-Variance tradeoff
  • 機械学習モデルを作るサイクル
  • Regularization
  • Normalizing input
  • Vanishing/Exploding Gradient Problem
    • 解決策
  • Weight Initialization
  • Gradient Checking による back-propagation の debug
  • mini-batch
    • batch gradient descent
    • stochastic gradient descent
    • mini-batch gradient descent
  • Exponentially Weighted Average
    • 概要
    • bias correction
  • Optimization
    • Gradient descent with momentum
    • RMSprop(Root Mean Square prop)
    • Adam Optimization
    • Learning rate decay
  • Hyper-parameter tuning
    • GridSearch
    • random
    • ベイズ(やってない)
  • Batch Normalization
    • 概要
    • 得られる効果
    • テスト時
  • softmax (今更?)
  • Tensorflow
    • tf.keras と keras
    • tensors / variables
    • (Computation) Graphs and Functions (v1 では Session)
続きを読む

Things happening before start coding with Metals ~behind the curtain of daily coding~ #ScalaTokyo でLTしました

Scala Tokyo

2020/09/25 開催の scala.tokyo で Things happening before start coding with Metals ~behind the curtain of daily coding~ という気取ったタイトルのLT(10分)をしました。 イベント主催の皆さん、21時を回っていたのに僕の発表を最後まで聞いてくれた人たち、本当にありがとうございました!

scala-tokyo.connpass.com

内容としては以下のような感じ。需要あるのかわからなかったけれどTwitterを見ていると結構反応が良く嬉しい。そのうち内容をまとめて英訳してブログにでも投稿しようと思う。

  • scalaIDE(language server)であるmetals
  • vscode pluginであるmetals-vscodeをインストールした状態で
  • ある scala project を vscode 内で初めて開いたときに
  • code navigation が動くようになるまでに metals が裏側でやっていること

感想コーナー

bloop の発音

bloopの語源は上のscaladaysの発表の冒頭で言われているように以下のようなものであり、調べていると普通に /bluːp/ が正しそうですね... /bilu:p/ って発音してた。

  • 海中で観測される発生原因不明の低周波音波(bloop)
  • これの発生源としてUMA大好き人間の間でささやかれているのが、bloopという(?)謎の超巨大生物によるもの。
  • 科学界隈では南極の氷河の崩落によるものだと結論付けられているらしいが

youtu.be

metals が今後 sbt を使うようになる?