【Hands Onで学ぶ】PyTorchによる深層学習入門
What you'll learn
- 研究者の間で急激に人気を伸ばしているPyTorchというAIフレームワークについてライブラリの基本から、深層学習の学習の手続きまでのプログラミング方法を理解できる
- 多層NNや畳み込みNNといった基本的なモデルに加えて、転移学習、オートエンコーダー、ResNet、LSTMといった様々なモデルを構築する事で、深層学習の基礎を固める事が出来る
- 過学習への対処方法や、GPUでの学習方法、自前で用意した画像データセットの使用方法など研究開発の現場で使用する実際的なスキルを身に付けることが出来る
Requirements
- Pythonの基本的なプログラミングスキル(基本的な文法+Numpyの知識)
- 機械学習や深層学習の基本的な知識
Description
【PyTorchとは?】
PyTorchとはFacebook AI Researchが開発している深層学習のフレームワークです。KerasやTensorFlowといった他のフレームワークと比較して、Define by Runという計算しながらモデルを作る性質や、クラスを使って複数のパーツから複雑なAIのモデルを組むことが出来る点からモデル構築の柔軟性という面で非常に優れます。この為、近年、国内外の研究者を中心としてシェアが急激に伸びてきています。
【対象者とゴール】
Pythonの基本的なプログラミング知識があり、教科書・参考書などで機械学習や深層学習を既にある程度知っているエンジニアや研究者の方を対象に、PyTorchにおけるプログラミングを通して深層学習の基礎を固めるコースです。本コースのゴールは"機械学習を知っている"から"機械学習を使える"へとステップアップする事です。
【ハンズオン】
本コースはハンズオンという形式で、Google Colab上でデータの準備⇒深層学習のモデル作成⇒損失関数・オプティマイザの設定⇒学習・評価という一連の流れをスクラッチから講師と一緒に実装していきます。
機械学習を”知っている状態"から実際に"使える状態"になるには、実際にプログラミングをして手を動かすことが非常に重要です。
例えば、教科書的な知識として、活性化関数(シグモイド関数 / Tanh / ReLU)を知っていたとします。この時、実際にどの活性化関数を使えばよいのか、こういった問いに対する答えは"実際に試してみる"という事です。
機械学習や深層学習の分野では理論的に答えを出せる場合もありますが、ヒューリスティック(経験的)に見つけるといった場合が非常に多いです。この為、本コースでは手を動かしてプログラムを実装する(Hands On)という事を非常に重視しています。
【コースの概要】
詳細は本コースの概要説明をご覧ください。
本コースは機械学習・深層学習の復習やPyTorchのライブラリの基本的な使い方など基礎的な内容から段階的にステップアップしていきます。
この為、無理なくステップアップすることが出来ます。
【PyTorchの基礎】
本コースの概要
Tensorとは
GoogleColabの使い方
PyTorchの基本的な使い方
自動微分
機械学習の流れ
PyTorchプログラミングの流れ
ソースコードの配布
【深層学習の基礎1】
線形回帰
MLPによる手書き数字の分類(MNIST) 概要
MLPによる手書き数字の分類(MNIST) 実装
モデルの保存・読み込み
CNNによるクラス分類(CIFAR 10) 概要
CNNによるクラス分類(CIFAR 10) 実装
【深層学習の基礎2】
データ拡張とは
データ拡張の効果の検証
転移学習 概要
転移学習 実装
オートエンコーダー 概要
オートエンコーダー 実装
グラフの読み方
ResNet 概要
ResNet 実装
カスタムデータセット 概要
カスタムデータセット 実装
LSTMとは
LSTM 実装
まずは無料プレビューできる動画が30分以上あります。プレビューだけでも見ていってください。
Who this course is for:
- PyTorchのAIフレームワークを使って、深層学習の様々なモデルを実装したい方。学習までの一連のプログラミングを身に付けたい方
- 機械学習を"知っている人"から機械学習を"使える人"へ一歩先へ進みたい方
Instructor
企業の研究/開発者
R&D部門にてPythonによるソフトウェア開発/データ分析を行っている。
実験/数値シミュレーションの両方の経験があり、その経験を生かしたデバイス開発を行っていた。
近年は、ソフトウェア開発に専従し、HPC(High Performance Computing)を用いた深層学習/数値シミュレーションのプログラム開発やデータ分析が中心。
PythonとCUDA Cを用いた大規模な数値解析ソルバーの開発経験あり。
数値解析については分野横断的な解析経験があり、
統計解析、第一原理計算、CAE(流体解析 / 電磁場解析など)、モンテカルロ法による相転移解析の他、
OpenCVを用いた画像処理など分野を超えた様々な領域に従事。
大阪大学大学院理学研究科修了。
学生時代はOpenMPとMPIによるスパコンでの大規模数値シミュレーション(256~1024コア程度)を行っていた。
Udemyでは各学問分野における"基礎力"や"ベースとなる土台"を重視した講座を複数展開中。
講座のポリシー:
各学問分野における
1. なぜこうなるのかという原理・原則に基づいた理解
2. その為のベースとなる数学力
3. プログラミング力
の3つを身に付けることでブレない基礎力を獲得できる講座