本コースは、ディープラーニングをゼロから実装する講座です。
TensorFlowやChainerなどのフレームワークを使わずに、畳み込みニューラルネットワーク(CNN)までゼロから構築できるようになりましょう。
ディープラーニングをフルスクラッチで構築することにより、普遍的な原理がしっかりと身につきます。
本コースは、ディープラーニングをゼロから実装する講座です。
TensorFlowやChainerなどのフレームワークを使わずに、畳み込みニューラルネットワーク(CNN)までゼロから構築できるようになりましょう。
ディープラーニングをフルスクラッチで構築することにより、普遍的な原理がしっかりと身につきます。
人工知能(AI)、特にその一分野であるディープラーニングは世界中の人々の関心を集めており、自動運転、ファイナンス、流通、アート、研究、さらには宇宙探索に到るまで、様々な分野で活用をされ始めています。
本コースは、可能な限り多くの方がディープラーニングの本質を学ぶことができるように、プログラミングと数学から始めて畳み込みニューラルネットワークに至るまで、手を動かしながら少しずつ丁寧に学べるように設計されています。
また、扱うコードは直感的な分かりやすさを重視し、可能な限りシンプルで可読性の高いコードを心がけています。
本コースには前提となる知識が2つあります。
1つ目は、何らかのプログラミング言語の経験です。
本コース内でもPythonの解説をしますが、何からのプログラミング言語の経験があると学習がスムーズになります。
プログラミングが全くの初心者の方は、他のコースで基礎を身につけた上で本コースに臨むことをお勧めします。
2つ目は、中学-高校レベルの数学の知識です。
本コース内でもディープラーニングに必要な数学の解説をしますが、ベースとなる数学の知識があった方が望ましいです。
数学に自信のない方は、他のコースで数学を学んだ上で本コースに臨むことをお勧めします。
————————————————————
本コースの主な内容は以下の通りです。
Pythonの基礎
→ ディープラーニングを学ぶために必要なPythonの基礎を学びます。
数学の基礎
→ ディープラーニングを学ぶのに必要な数学のベースを身につけます。
ニューラルネットワーク
→ ニューラルネットワークの原理と仕組みを学び、簡単なニューラルネットワークのコードを実際に構築します。
バックプロパゲーション
→ 誤差の逆伝播により、ニューラルネットワークが学習する仕組みを学びます。
ディープラーニング
→ ここまで学んできた内容をベースに、層をいくつも重ねた深層学習を構築します。
畳み込みニューラルネットワーク
→ 畳み込みニューラルネットワークをゼロから構築します。
————————————————————
本コースは動画を見るのみでも学習が進められるようになっていますが、可能であればPythonのコードをダウンロードして動かしながら進めるのをお勧めします。
コードがダウンロード可能なので、これをベースにオリジナルのディープラーニングのコードを書いてみることもお勧めです。
ディープラーニングには非常に長い時間がかかる場合もありますが、本コースのコードは長くても数十秒程度で実行可能です。
本格的なAI開発につながる拡張性を確保しつつも、小さな試行錯誤を何度も繰り返すことができる作りになっています。
本コースの開発環境、AnacondaとJupyter Notebookは簡単にダウンロード、インストールすることができます。
ディープラーニングをゼロから構築しその原理を身につけていただくことが本コースの目的です。
本コースを修了した方は、知的好奇心が刺激されてディープラーニングや人工知能ののことをさらに知りたくなっているかと思います。
コースの概要、及び各セクションの概要を解説します。
ディープラーイングの概要を、人工知能や機械学習から解説します。
Anacondaのインストール方法を解説します。
Anacondaの商用利用が、いくつかの条件を満たしている場合に有償となりました。
このレクチャーでは、有償化の回避策を紹介します。
Jupyter Notebookの使い方を解説します。
教材のダウンロード方法とコースの学び方について解説します。
Pythonの基礎、その1です。
Pythonの基礎、その2です。
本コースで不可欠な数値計算ライブラリ、NumPyの解説です。
本コースで不可欠なグラフ描画用ライブラリ、matplotlibの解説です。
本セクションで学ぶための基礎となる数学を解説します。
ディープラーニングで用いる線形代数の基礎を学びます。
ディープラーニングで用いる微分の基礎を学びます。
正規分布の概念とコードを学びます。
ニューラルネットワークについて、概要を学びます。
単一ニューロンで行われる計算について学びます。
順伝播と逆伝播の概念について学びます。
2つの層の間における計算について学びます。
回帰と分類の概念について学びます。
様々な活性化関数について学びます。
単一ニューロンの具体的な実装方法について学びます。
回帰の場合の、ニューラルネットワークの実装について学びます。
分類の場合の、ニューラルネットワークの実装について学びます。
バックプロパゲーションについて、概要を学びます。
訓練データとテストデータについて、概念を学びます。
損失関数について、概念と実装方法を学びます。
勾配降下法について、概念を学びます。
出力層の勾配を計算する式を導出します。
中間層の勾配を計算する式を導出します。
エポックとバッチの概念について学びます。
行列による順伝播の演算について学びます。
行列による逆伝播の演算について学びます。
バックプロパゲーションによる学習のための準備を行います。
各層をクラスとして実装します。
バックプロパゲーションの実装、回帰の例です。
バックプロパゲーションの実装、分類の例です。
ディープラーニングが抱える様々な問題について解説します。
勾配降下法における様々な最適化アルゴリズムを紹介します。
本セクションでニューラルネットワークの学習に用いるIrisデータセットについて紹介します。
本セクションにおける学習のための準備を行います。
中間層、出力層をクラスとして実装します。
全体のコードを俯瞰し、実行して結果を確認します。
ドロップアウトにより、過学習を抑制します。
畳み込みニューラルネットワークの概要について解説します。
im2colとcol2imというアルゴリズムについて解説します。
畳み込み層の実装方法について解説します。
プーリング層の実装方法について解説します。
CNNで学習を行うための準備を行います。
CNNを実装し、手書き文字の分類を行わせます。
さらに学びたい方のために、有用な情報を提供します。
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.