Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
直感!Pytorchで始める深層学習実装入門(導入編)
Rating: 4.0 out of 5(105 ratings)
579 students
Created by神草 経知
Last updated 9/2022
Japanese

What you'll learn

  • ニューラルネットワークの仕組み
  • Pytrochを用いたニューラルネットワークの実装方法
  • 深層学習の基礎
  • 単純パーセプトロンの仕組み・実装方法
  • 多層パーセプトロンの仕組み・実装方法

Course content

1 section10 lectures1h 49m total length
  • 本講座のご紹介5:55

    深層学習ライブラリ(Pytorch)を用いたレクチャの中でも本講座が何を重視していて、何を重視していないのかをご理解いただけますと幸いです。

    導入編は、浅いニューラルネットワークから深いニューラルネットワークまで、コアとなる考え方と実装方法の本質的理解を目指します。実践編は近日公開予定です。

  • 環境構築(Colabの説明)0:58

    Googleアカウントを持っている前提で、Google Colaboratory(Colab)でPythonコードを実行できるようになるまでの解説をします。

  • 環境構築(Colabセットアップ)3:57
  • 単純パーセプトロン説明7:32

    単純パーセプトロンの歴史・仕組みについて解説します。

  • 単純パーセプトロン実装2:10

    身長・体重からBMIを基準にメタボ判定を行う処理をPython/Pytorchを使って実際に書いていきます。

    ※2020/11/21追記:

    loss_fn(正解ラベル, 推論結果)のような誤記がありますが、

    正しくは、loss_fn(推論結果, 正解ラベル)となります(引数が逆)。誤っていても学習は正しく行われますが、別の例では次元が合わずエラーになることがありますので、ご注意ください。


    ※2022/9/4追記:

    以下、losses.append(loss) → losses.append(loss.item())へ修正しております。
    修正後のipynbをダウンロードしてお試し頂けますと幸いです。

    ```

    for epoch in range(epochs):

      W.grad = None

      y_pred = sigmoid(X@W)

      loss = loss_fn(y_pred.view_as(y), y)

      loss.backward()

      W.data = W.data - eta * W.grad.data

      losses.append(loss.item())


    ```

    よろしくお願いいたします。


  • 単純パーセプトロンサマリ2:02

    単純パーセプトロンの説明・実装を通して確認できた内容を振り返ります。

  • 線形回帰、ロジスティック回帰への拡張8:55

    単純パーセプトロンの活性化関数を変更し、損失関数・微分と併用することで、勾配降下法による学習が可能であるということを、手計算をしながらやさしく解説します。

  • 線形回帰、ロジスティック回帰の実装45:04

    線形回帰とロジスティック回帰によるBMIの予測並びにメタボ判定を行うネットワークをPytorchライブラリを用いて実装していきます。


    本講座での学習のステップは、深層学習の実装でも流用することが可能です。

  • 多層パーセプトロンの説明6:13

    単純パーセプトロンでは解くことができなかった線形分離不可能な問題を、多層パーセプトロンで解くことができるようになるというイメージを解説と実装を通して理解します。

  • 多層パーセプトロンの実装26:28

    単純パーセプトロンで解くことができる問題(AND/OR回路の近似)と多層パーセプトロンでしか解くことのできない問題(XOR回路の近似)を題材に実装によって、線形分離不可能な問題を多層パーセプトロンで解けるようになるまでを解説します。

    ※2020/11/21追記:

    loss_fn(正解ラベル, 推論結果)のような誤記がありますが、

    正しくは、loss_fn(推論結果, 正解ラベル)となります(引数が逆)。誤っていても学習は正しく行われますが、別の例では次元が合わずエラーになることがありますので、ご注意ください。

Requirements

  • Pythonの基本文法の理解
  • 高校1年生レベルの数学の知識

Description

本講座では、Google Colaboratory(Colab)の環境を利用しながら実際に手を動かしてPytorchで単純パーセプトロン・多層パーセプトロンを実装し、ネットワークが自動学習できるように拡張していきます。ニューラルネットワークがどのような仕組みで訓練・推論を行っているのかの理解を深めることができます。


Pytorchの書籍や公式チュートリアルで挫折してしまった方が、もう一度深層学習にチャレンジしたいと思うきっかけになればと思い、極力平易な言葉での解説に徹しました。


※実践編にてCNN/RNN/BERTなどについても解説しておりますが、本講座には含まれませんのでご注意ください。


[目次]


01_直感!PythonPytorchで始める深層学習実装入門ハンズオン紹介


02_Colaboratory説明


03_Colaboratoryハンズオン


04_単純パーセプトロン説明


05_単純パーセプトロン実装


06_単純パーセプトロンサマリ


07_線形回帰、ロジスティック回帰、勾配降下法の説明


08_線形回帰、ロジスティック回帰、勾配降下法の実装


09_多層パーセプトロンの説明


10_多層パーセプトロンの実装


[前提知識]


・Pythonの基礎文法


・高校1年生レベルの数学の理解を前提

Who this course is for:

  • データサイエンスに興味を持つ初級Python開発者
  • Python/Pytorchでのニューラルネットワーク実装ができるようになりたい方
  • 深層学習の実装に興味のある方