スクラッチから始めるAI入門:多層ニューラルネット編
3.2 (41 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
633 students enrolled

スクラッチから始めるAI入門:多層ニューラルネット編

深層学習の基本となる多層ニューラルネットの仕組みを知って作って動かしてみよう!Scratchでのブロック・プログラミングから始めてPythonでの多層ニューラルネット作成まで、ブラウザを使うだけで、ほぼ予備知識なしで取り組めます。
3.2 (41 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
633 students enrolled
Created by Toshiteru Homma
Last updated 4/2019
Japanese
Current price: $69.99 Original price: $99.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 10 hours on-demand video
  • 1 article
  • 26 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 深層学習につながる多層ニューラルネットの基本的な仕組みを合計22分のレクチャで中学程度の数学を使ってコンパクトに学べます。
  • ていねいな説明付きのハンズオンに近いビデオを元に、プログラミング未経験者や初心者が多層ニューラルネットを自分で作れるようになります。
  • Scratchなどのブロック・プログラミングで始めるため、予備知識なしにプログラミングの基礎を容易に身につけることができます。
  • 作ったブロック・プログラムからPythonのプログラムを自動生成して実行することができます。
  • 作った多層ニューラルネットのプログラム(Snap!およびPython)では、層数やニューロン数を自由に指定できるので、様々な実験をすることができます。
Requirements
  • ブラウザの操作や(メモ帳などでの)テキストの編集。
  • インターネット接続とブラウザ(Windows、Mac OS、Linux、iOS、AndroidなどOSは問わず)。
  • ブロック・プログラミングは予備知識なしで大丈夫です。
  • テキスト・プログラミングでPythonを使いますが、予備知識なしでも理解できるように説明します。
  • 中学での数学の知識で理解できる数式を使います。ニューラルネットの動作の説明で「導関数」が出てきますが、微分の知識なしでも理解できるように説明します。
Description

深層学習(ディープ・ラーニング)に使われている多層ニューラルネットの基本的な仕組みを理解し、予備知識なしで取り組めるScratchなどのブロック・プログラムでニューラルネットを組んで実行します。

そこからテキスト・プログラミング言語Pythonのプログラムを自動生成し改良することで、Pythonでの多層ニューラルネットのプログラムをつくります。

簡単な論理演算などの例、Irisデータセットでの分類問題の例などを通して、作成したニューラルネットの学習の様子と仕組みを理解するとともに、応用への道筋を展望します。

使うプログラムは全てブラウザ上で実行可能で、ダウンロードも可能です。

作成したプログラムを、インターネット接続なしブラウザなしで編集や実行のできる方法をも紹介しています。

Who this course is for:
  • AIで多用されているニューラルネットとその基本的な考え方や手法及び応用に興味のある方。
  • プログラミング未経験者や初心者でも、実際にニューラルネットのプログラムを実行して試してみたい方。
  • ScratchやSnap!などのブロック・プログラミングでニューラルネット・プログラミングの基本を学びたい方。
  • Pythonでのニューラルネット・プログラミングの基本を試したい方。
Course content
Expand all 41 lectures 10:06:33
+ ブロック・プログラミング
7 lectures 02:22:36

Scratchでの論理演算

Scratchでの論理演算
1 question
「ジャンケンポン」ゲームの例
28:53
論理演算の例(XOR、複数入出力)
21:05

Snap!での論理演算

Snap!での論理演算
1 question
「Tic Tac Toe」ゲームの例
49:31
+ ニューラルネット
7 lectures 01:42:11
Scratchによるニューロンの実装
18:10

Scratchでのニューロンの動作

Scratchでのニューロンの動作
1 question
Snap!によるレイヤの実装
26:15
マルチレイヤ
10:22
Snap!によるマルチレイヤの実装
39:02

tanh関数とシグモイド関数の関係から、tanh関数のより簡易な式を求める。

Tanh関数の式
1 question
+ ニューラルネットでの学習
10 lectures 03:16:12

活性化関数としてよく使われるTanhの導関数について質問します。

Tanhの導関数
1 question
Scratchによるニューロンでの学習の実装
53:07
Snap!によるレイヤでの学習の実装
22:45
マルチレイヤでの学習
04:51
Snap!によるマルチレイヤでの学習の実装
38:54
大容量データセットへ向けたプログラムの改良(追補)
35:08
「大容量データセットへ向けたプログラムの改良」のレクチャに添付された未完成のプログラムを完成させます。
大容量データセット向けに改良されたプログラムの完成
1 question
微分の記法と連鎖律の応用(追補オプション)
19:23
活性化関数として、シグモイド関数とランプ関数の場合について、それらを微分した式を導出します。
活性化関数の微分(追補オプション)
2 questions
+ テキスト・プログラミング
5 lectures 01:30:18
Snap!からのPythonコードの自動生成
12:58
ブラウザ上でのPythonプログラムの実行
10:38
Pythonでのマルチレイヤでの学習の実装
24:22
マルチレイヤでの学習例(Irisデータセット)
41:05
+ 付録
2 lectures 27:22
プログラムの改訂記録
00:05

本コースを一般の方に紹介するために作成しYoutubeに公開しているビデオをここでも紹介しておきます。

Preview 27:17
+ 追補:オフラインでのプログラムの編集・実行
4 lectures 27:50
概要(オフラインでのプログラムの編集・実行)
02:33
オフラインでのSnap!プログラムの編集・実行
08:34
オフラインでのPythonプログラムの編集・実行
15:02
オフライン時のモバイル機器での編集・実行
01:41
+ ボーナス
1 lecture 05:10
ボーナス・レクチャー
05:10