neverjpのぶらり日記

コンピューター関連の記事とぶらりと出かけた先の写真など

どうやってAIを学習するか?

f:id:neverjp:20200112151039j:plain

富士山(写真はネットから借用)


Chainer チュートリアルへようこそ。

 
 

このチュートリアルは、機械学習ディープラーニングの仕組みや使い方を理解したい大学学部生以上の方に向けて書かれたオンライン学習資料です。

 
 

機械学習の勉強を進めるために必要な数学の知識から、Python というプログラミング言語を用いたコーディングの基本、機械学習ディープラーニングの基礎的な理論、画像認識や自然言語処理などに機械学習を応用する方法に至るまで、幅広いトピックを解説しています。

 
 

機械学習を学び始めようとすると、ある程度、線形代数や確率統計といった数学の知識から、何らかのプログラミング言語が使えることなどが必要となってきます。 しかし、そういった数学やプログラミングの全てに精通していなければ機械学習について学び始められないかというと、必ずしもそうではありません。

 
 

チュートリアルでは、機械学習ディープラーニングに興味を持った方が、まず必要になる最低限の数学とプログラミングの知識から学び始められるように、資料を充実させています。

 
 

そのため、できる限りこのサイト以外の教科書や資料を探さなくても、このサイトだけで機械学習ディープラーニングに入門できることを目指して、作られています。初学者の方が「何から学び始めればいいのか」と迷うことなく学習を始められることを目指したサイトです。

 
 

また、本チュートリアルの特徴として、資料の中に登場するコードが、Google Colaboratory というサービスを利用することでそのままブラウザ上で実行できるようになっているという点があります。

 
 

ブラウザだけでコードを書き、実行して、結果を確認することができれば、説明に使われたサンプルコードを実行して結果を確かめるために、手元のコンピュータで環境構築を行う必要がなくなります。

 
 

とりあえずkeras

 
 

とりあえずkerasの本から始めました。

 
 

こいつです。

 
 

実装するだけならこんなに簡単なのか!っていうのでモチベ爆上がりしましたね。

 
 

この本のおかげで、何に何を入れたら何が出てくるぐらいは理解できました。

 
 

つまり、よくわかんないけど作れる。みたいな状態。

 
 

この本を(わからないところは飛ばし飛ばし)終えてからtensorflow公式のAIチュートリアルをやってました

 
 

あとは微分積分がなんで重要なのかをちらっと勉強してました。

 
 

ただ、東大松尾研究室のDL4USの存在を知ってたそっちを受けてたかも(^^;

 
 

動画編

 
 

数学は動画で勉強。

 
 

TRYの動画授業。

 
 

YOUTUBEなので無料だしわかりやすい。

 
 

高校生向けになので初心に帰れるのも良い。

 
 

微分だけ学びました。

 
 

予備校のノリで学ぶシリーズ。

 
 

YOUTUBEなので無料。

 
 

確率統計、線形代数はここで学んだ。

 
 

ボケがおもしろくなくておもしろいので好き。

 
 

1.わからないところを理解する。

 
 

独学で一番まずいのが、なんかよくわからないからモチベ下がったってやつです。

 
 

モチベ下がるのは良くないので、なんでわからないのか、どこがわからないのか、というのを理解して対策を打ちましょう。

 
 

ワンもあ言います。「わからない理由を明確化する」、そして「対策を打つ」。

 
 

もう一回いいます。「なんで」わからないのか、どこがわからないのか、そして「対策」。

 
 

もう一度いいます。「原因」と、「対策」。

 
 

わかんなくて叫びだしたくなったら「原因」と「対策」っていうのを思い出してください。

 
 

原因を見つけるのは2ステップ。

 
 

「どこ」がわからないのか、どこからわからなくなったのかを調べる。

 
 

全体像

 
 

本講座は全7Lessonの演習マテリアルからなっています。各Lessonは次のような構成になっています。

 
 

- Lesson 0: 機械学習Deep Learningのキソ

 
 

  - 機械学習概観

 
 

- Lesson 1: 手書き文字認識をしよう

 
 

  - Keras入門、MNIST、MLP、前処理、勾配に関するテクニック、過学習に関する手法、Fashion MNIST

 
 

- Lesson 2: 畳み込みニューラルネットワーク

 
 

  - CNN基礎、Data Augmentation、画像データの正規化、Batch Normalization、Skip Connection

 
 

- Lesson 3: 系列データで予測させてみよう

 
 

  - RNN、BPTT、Gradient Clipping、LSTM、GRU

 
 

- Lesson 4: ニューラル翻訳モデルをつくってみよう

 
 

  - 言語モデル、分散表現、Seq2Seq、Keras Functional API、Attention

 
 

- Lesson 5: 画像からキャプションを生成してみよう

 
 

  - MSCOCO、学習済みモデルの利用、キャプション生成、Attention

 
 

- Lesson 6: ニューラルネットに画像を生成させよう

 
 

  - 生成モデル入門、GAN、Conditional GAN、VAE

 
 

- Lesson 7: ニューラルネットでゲームを攻略するAIをつくろう

 
 

  - 強化学習入門、Q学習、DQN、OpenAI Gym、Double DQN、Dueling Network

 
 

演習の進め方

 
 

各LessonにはそのLessonで学ぶトピックの説明及びPythonでの実装がJupyter Notebook形式でまとめられています。 各Lessonは4つのSectionから構成されている。

 
 

(画像はネットより借用、文面もQiitaなどより借用)

 
 
 
 

人気ブログランキングへ←人気ブログランキングに参加しています。ポチっと1票を!