2020/1/12: リンク切れのため、一部修正
PR: 2019年5月11日発刊の 図解速習DEEP LEARNINGで、こちらの内容を日本語訳・整理して実行いただけるようになりました!
TL;DR
- GoogleがTensorFlow/Kerasを中心としたNotebookをSeedbankに集約、公開
- ここにあるものは、Colaboratoryで環境構築なし、GPUありで即実行できる
- Seedbankタグづけを、ドメインごと分類に再整理、簡単な日本語解説をつけた
- そもそもデータ分析/人工知能ってはこちら: 2018年の人工知能、データ分析 - できること、できないことのホントノトコロ|tomo_makes|note
- Colab概要はこちら: 【秒速で無料GPUを使う】深層学習実践Tips on Colaboratory - Qiita
- 注意: 全コードの、スマホ上での実行は試していません。Colabが開くこと、一部コードの実行のみ確認しました
実行手順
PCブラウザ
- リンク先から
Open Seed in Colab
を押す - ソースコードは、セルを選択し
左上の再生ボタンを押す
またはShift + Return
で実行できる。
- 基本GPUを利用により、コード実行時に早く進められる
- メニューの
ランタイム> ランタイムのタイプを変更
から、ハードウェアアクセラレータ
にGPU
を選択
- メニューの
スマホブラウザ
- iOS/AndroidいずれかのChromeでリンク先を開き、
Open Seed in Colab
を押し、実行方法は同上
領域別のSeedリストと簡易解説
以降の画像は、特に注釈のない限り Seedbank から引用したものです
画像や動画 Image & Video
基本のMNISTから動画のコンテキスト推定までの分類、DeepDreamに始まりCycleGANなどメジャーなGANが動かせます。
分類 Classification
-
Classifying Handwritten Digits
- ベーシックな手書き文字認識(MNIST分類)に加え、hidden layerの重み可視化
- GoogleのMachine Learning Crash Course提供
-
Fashion MNIST with tf.keras
-
tf.keras
で衣服写真を分類。TensorFlowの全体像をざっくり掴める構成
-
- Match images using DELF and TF-Hub
-
TF-Hub Action Recognition Model
- Inflated 3D Convnets(I3D)を使った動画のコンテキスト認識
生成 Generative
- DeepDream
-
Compare GAN(削除されたようです 2020/1/12追記)- GANのレビュー論文 "Are GANs Created Equal? A Large-Scale Study" paper (https://arxiv.org/abs/1711.10337) と、 "The GAN Landscape: Losses, Architectures, Regularization, and Normalization" (https://arxiv.org/abs/1807.04720) で使われた学習済みGANモデルを試し、比較できる
-
Run this cell and select which GAN module to use below
セルを実行すると、下記のリストから選べる
-
CycleGAN: Unpaired Image to Image Translation
- あの有名な馬動画がシマウマになってしまうCycleGANの実装と解説。MOOCsのKadenze提供
音や音楽 Sounds & Music
音は通常、音の波形で扱う。音楽は、音の波形を直接扱う場合と、系列(譜面、およびそれがデータ化されたMIDI等)で扱う場合がある。適用するアルゴリズムが異なる。
分類 Classification
- なし
生成 Generative
波形
-
E-Z NSynth
- TensorFlowのアート適用プロジェクト Magenta発の、シンセ用音合成ができるWaveNet autoencoder
-
Audio Style Transfer
- 音のスタイル変換
系列
文章や言語 Text & Language
テキストは、言語によらず単語に分割、その特徴量ベクトル(embedding)を計算し、それらを平均する等して文や文章の特徴量ベクトルを計算。それを分類や生成に使う。
分類 Classification
-
Classify movie reviews using tf.keras
- positive/negativeの分類器を作る。
Embedding -> GlobalAveragePooling1D -> ReLu -> sigmoid
というシンプルなNN
- positive/negativeの分類器を作る。
-
Text classifier with TF-Hub
- TF-Hubテキストembeddingモジュールを使った感情分析。応用として転移学習も、問題点含め取り上げる
-
CharRNN
- Karpathy氏の、文字レベルLSTMを使ったテキスト生成モデルに、シェイクスピアの文章を食わせて試してみる
生成 Generative
-
Generate Shakespeare using tf.keras
-
tf.keras
とeager
を使い、シェイクスピアの文章で学習したモデルによる、シェイクスピア風テキスト生成
-
-
Neural Translation with Attention
-
tf.keras
とeager
を使った、スペイン語から英語へのseq2seq翻訳
-
-
Tensor2Tensor: Translate from English to German with a pre-trained model
- T2Tを使ってみる
ツール/その他
- Pretrained Word Embeddings
- 学習済みのword embeddings。gensimで学習済みのembeddingsを読み込み使う(word2vec, googlenews)
- Mitigating Unwanted Biases
- モデルバイアスについて1
- Conversation AI's Pinned AUC Unintended Model Bias Demo
- モデルバイアスについて2
教師なし Unsupervised
ドメイン共通
基本
-
Seedbank: Filtered by: mlbasics
- GoogleのMachine Learning Crash Course提供のもの中心
NNの解釈性
-
The Building Blocks of Interpretability シリーズ
- Lucid: A Quick Tutorial
- NNの内部状態を可視化するライブラリ Lucidのtutorial
- DeepDreamの流れをくむ、より柔軟にNNの解釈性についてのリサーチ等に使える
- Spatial/Channel Attribution
- 画像のどこを切り取るとより反応するか=空間的な依存性(spatial attribution)
- Activation Grid Visualizations
- activation gridの可視化で、画像がある特定のレイヤでどう解釈されているか確認
- Semantic Dictionaries
- 抽出された特徴量から、人間の解釈できる画像を取り出す
- Neuron Groups
- 協調して発火するニューロングループ=関連する特徴を協調して検知しているもの
- Lucid: A Quick Tutorial
まとめ
- Colabいいよおじさんとしては、Colaboratory界隈のここ半年の発展は本当に面白い
関連
Colaboratoryって何、という方は下記をご参照ください