ニューラルネットワークの仕組み (Raspberry PI 演習で学ぶ) AI DATA VASSEL 資料

Slides:



Advertisements
Similar presentations
情報処理 第9回第9回第9回第9回. 今日の内容 Excel の起動と画面構成 –Excel の起動 –Excel の画面構成と基本用語 データの入力 – 文字の入力 – 数値の入力 – 日時の入力 – オートフィル.
Advertisements

情報処理 第9回第9回第9回第9回. 今日の内容 Excel の起動と画面構成 –Excel の起動 –Excel の画面構成と基本用語 データの入力 – 文字の入力 – 数値の入力 – 日時の入力 – オートフィル.
コンピュータと情報 第10回 Excel を使ってみる. Excel の起動 ① 「スタート」ボタンをク リック ② すべてのプログラムにマ ウスカーソルをあわせる ③ 「 Microsoft Office 」 → 「 Microsoft Excel 2003 」 にマウスをあわせて,ク リック ④.
表計算ソフト (教科書49ペー ジ). ◎表計算ソフトとは 表から計算によって ① 知りたいデータを見つけ出し、 ② わかりやすく、見やすく加工する ことができるソフトのこと。
1 WORD の起動法と終了法 ● WORD の起動法 (1) デスクトップの Microsoft Word ア イコンをダブルクリックする。 * (2) 「スタート」⇒「すべてのプログ ラム」⇒「 Microsoft Office 」⇒ 「 Microsoft Office Word 2007 」と.
1 WORD の起動法と終了法 ● WORD の起動法 (1) デスクトップの Microsoft Word アイ コンをダブルクリックする。 * (2) 「スタート」 ― 「すべてのプログラ ム」 ― 「 Microsoft Word 」と選ぶ。 (3) Word で作成された文書があるとき は、そのアイコンをダブルクリック.
応用コース:ワープロを活用する WORD2000 1回目 基礎コースの復習(第1章と付録) 2回目 文字の入力(第2章と第4章)
エクセル(1)の目次 起動法、ブック、シート、セル ブックの開き方 エクセル画面 マウスポインターの種類 シート数の調節 データの入力法
PC作業の一時停止 ●「スタンバイ(サスペンド)」: メモリには電源が供給される。実行中のデータがそのままメモリに保持されるため、作業を中断した状態から 数秒で再開ができる。省電力。 操作: 「スタート」→「電源オプション」→「スタンバイ」とクリックする。 ●「休止状態」: メモリの内容をハードディスクに退避してから全デバイスの電源をオフ。作業を中断した状態からの再開ができる。ノートPCでは電池が消耗しない。
知能機械工学科 担当:長谷川晶一 TA:新・後藤・ナンバ
実習問題の解き方 JIS3-2の場合.
情報処理 第12回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当教員 : 塩田
Microsoft PowerPointを使ってみよう
エクセル(1)の目次 起動法、ブック、シート、セル ブックの開き方 エクセル画面 マウスポインターの種類 シート数の調節 データの入力法
報告 (2006/9/6) 高橋 慧.
エクスプローラ ● エクスプローラ: ファイルやフォルダを階層構造で表示してあり、これらを操作するのに便利。
マイクロソフト Access を使ってみよう 第1回
教師あり学習と ディープラーニング 金子邦彦.
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
マイクロソフト Access を使ってみよう 第4回
Microsoft Office 2010 クイックガイド ~応用編~
表計算 Excel 演習 6. ルックアップ,データの入力規則.
経営工学基礎演習a PowerPointの利用.
人工知能を動かしてみる(Keras を用いたニューラルネットワークの定義,コンパイル,学習,評価,予測)
Unreal Engine 4 のインストール 2017年 7月 金子邦彦.
ai-1. 人工知能を演習と実践で学ぶ シリーズ
強化学習を用いたバックギャモンプレイヤーの生成 TD-Gammon
pp-9. Python のモジュール、パッケージ
深層学習を用いた音声認識システム 工学部 電気電子工学科 白井研究室 T213069 林健吉.
コンピュータ プレゼンテーション.
スイッチを入れる前に… 講習を受けていない人は、まだスイッチを入れないこと。 まず講習を受けてセットアップを行ってください 注意.
マイクロソフト Access を使ってみよう 第2回
PC作業の一時停止 ●「スタンバイ(サスペンド)」: メモリには電源が供給される。実行中のデータがそのままメモリに保持されるため、作業を中断した状態から 数秒で再開ができる。省電力。 操作: 「スタート」⇒「電源オプション」⇒「スタンバイ」とクリックする。 ●「休止状態」: メモリの内容をハードディスクに退避してから全デバイスの電源をオフ。作業を中断した状態からの再開ができる。ノートPCでは電池が消耗しない。
OpenCV について OpenCV とは OpenCV の Python プログラム例 配列 画像の B, G, R の 3成分
or-3. 作業リスト,スケジューリング,PERT図 (オペレーションズリサーチを Excel で実習するシリーズ)
15K1117 下窪 聖人 15K1013 坂本 倖輝 15K1112 黒川 晶太 15K1015 関根 修斗
or-11. 一次式 (オペレーションズリサーチを Excel で実習するシリーズ)
or-4. モンテカルロシミュレーション (オペレーションズリサーチを Excel で実習するシリーズ)
ex-8. 平均と標準偏差 (Excel 実習シリーズ)
Ex-11. ルックアップ 金子邦彦.
Pp-10. Python の numpy Python を演習と実践で学ぶシリーズ 金子邦彦.
Microsoft Office クイックガイド ~基本編~
表計算 Excel 演習 1.Excel を使ってみる.
Pp-12. Python の numpy Python を演習と実践で学ぶシリーズ 金子邦彦.
vc-3. ダンプリスト,配列 (Visual Studio C++ の実用知識を学ぶシリーズ)
ai-5. 人工知能の Python パッケージ TensorFlow と Keras の動作確認
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
Microsoft Office 2010 クイックガイド ~応用編~
pf-7. データ構造とアルゴリズム (Python プログラミング基礎を演習で学ぶシリーズ)
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
pf-4. 式の抽象化と関数 (Python プログラミング基礎を演習で学ぶシリーズ)
vc-3. ダンプリスト,配列 (Visual Studio C++ の実用知識を学ぶシリーズ)
or-4. モンテカルロシミュレーション (オペレーションズリサーチを Excel で実習するシリーズ)
or-6. 待ち行列シミュレーション (オペレーションズリサーチを Excel で実習するシリーズ)
pf-6. スタック (Python プログラミング基礎を演習で学ぶシリーズ)
誤差逆伝播法による ニューラルネットワーク (BackPropagation Neural Network, BPNN)
pp-9. Python のモジュール、パッケージ
ex-11. データの入力規則 (Excel を演習で学ぶシリーズ)
ex-8. 平均と標準偏差 (Excel を演習で学ぶシリーズ)
目次 ---Windows 01.キーボードとマウスの基本操作 02.複数のファイルを同時に選択
or-9. 資金計画と投資効率 (オペレーションズリサーチを Excel で実習するシリーズ)
or-4. モンテカルロシミュレーション (オペレーションズリサーチを Excel で実習するシリーズ)
エクスプローラ ● エクスプローラ: ファイルやフォルダを階層構造で表示してあり、これらを操作するのに便利。
Microsoft Cognitive Services の概要
pf-2. 条件分岐 (Python プログラミング基礎を演習で学ぶシリーズ)
2. 画像とカメラ 金子邦彦.
形態素解析と構文解析 金子邦彦.
アウトライン Shiny の仕組み R システムに準備済みのオブジェクト Shiny のインストール Shiny のプログラム.
mi-8. 自然言語処理 人工知能を演習で学ぶシリーズ(8)
mi-5. プロダクションシステム 人工知能を演習で学ぶシリーズ(5)
Presentation transcript:

ニューラルネットワークの仕組み (Raspberry PI 演習で学ぶ) AI DATA VASSEL 資料 金子邦彦

アウトライン 1. ニューラルネットワーク・まとめ 2. ニューラルネットを作るプログラム 3. ニューラルネットワークの学習を行うプログラム 4. ニューラルネットワークを使うプログラム

1. ニューラルネットワーク・ まとめ

層が直列になっているニューラルネットワーク 入力 出力 全結合 全結合 全結合 層数が4の場合(総数はいろいろ変わる)

ユニットと全結合 入力 出力 全結合 全結合 全結合 ※ 層の中には、ユニットが並ぶ

ニューラルネットワークによる予測 活性化 ・ 画素数 784 の モノクロ画像 があったとする データは配列 (アレイ) 2層目 1層目

ニューラルネットワークによる予測 ・ 画素数 784 の モノクロ画像 があったとする 活性化 データは配列 (アレイ) 2層目 1層目

ニューラルネットワークによる予測 1つが活性化 ↓ 活性化したユニットが「2番」なら, 「予測結果は2」 の意味 1 未知の データ 2 3 1つが活性化 ↓ 活性化したユニットが「2番」なら, 「予測結果は2」 の意味 1 未知の データ 2 3 4 ニューラルネットワーク ・ニューラルネットワークでの予測は, 未知のデータを与えて,最終層のユニットを活性化 させることで行う

ニューラルネットワークとは ・ニューラルネットワークは,層が積み重なっている ・層の中には,ユニットが並ぶ. ・ユニットは,互いにつながり,ときには活性化する ・ニューラルネットワークでの予測は, 未知のデータを与えて,最終層のユニットを活性化 させることで行う

ニューラルネットワークのバリエーション Recurrent Network LSTM Recurrent Neural Network フィード バック付き 全結合 全結合 全結合 フィード バック フィード バック LSTM Recurrent Neural Network メモリユニット 付き 全結合 全結合 全結合 メモリユニット付き メモリユニット付き フィード バック フィード バック

ニューラルネットワークのバリエーション CNN 畳みこみ層付き 全結合 全結合 全結合 全結合 畳みこみ層

2. ニューラルネットワーク を作るプログラム

ニューラルネットワークの例 全結合 出力 入力 4 個の数値 ユニット数 64 ユニット数 3 この層は,「softmax」になるように設定 層数: 2

ソフトマックス (softmax) に設定された層 ・各ユニットの活性化の度合いは,0  から1の数値  ・最も値が高いものは「活性化してい  る」, それ以外は「活性化してない」と考える

ニューラルネットワークを作るプログラム import tensorflow as tf import keras from keras.models import Sequential m = Sequential() from keras.layers import Dense, Activation import keras.optimizers m.add(Dense(units=64, input_dim=4)) m.add(Activation('relu')) m.add(Dense(units=3)) m.add(Activation('softmax')) m.compile(loss=keras.losses.categorical_crossentropy, optimizer=keras.optimizers.SGD(lr=0.01, momentum=0.9, nesterov=True)) 入力は 4個の数値 1層目のユニット数は 64 2層目のユニット数は 3 「softmax」に設定するため より深く学びたい人に「パソコン実習」の資料を準備しています https://www.kkaneko.jp/dblab/keras/keras.html

2. ニューラルネットワークの作成 プログラムで,次を指定 層の数 各層のユニットの数 各層のユニットの種類 コンピュータ上の作成されるバーチャルなもの ノートページ

パソコン演習 ■ MobaXTerm を起動し,次のコマンドで Raspberry Pi にリモートログインする ssh -X pi@raspberrypi.local そのあと raspberry ※ 反応がないときは arp -a で IP アドレスを確認し, ssh -X pi@<IPアドレス>

Web ブラウザを起動(末尾に「&」) chromium-browser & システムの基本操作は別資料で説明 https://www.kkaneko.jp/tools/raspbian/raspuse.html spyder3 を起動(末尾に「&」) spyder3 & しばらく待つと,起動する

■ 資料の Web ページを,別に開く https://www.kkaneko.jp/a/ai.html ■「5-2」のところのプログラムを,コピー,貼り付け spyder3 の右下の Python コンソールに張り付ける. 張り付けたあと Enter キー マウスの右クリックメニュー で「Paste」が便利 コピーしたい範囲をマウスで選び, マウスの右クリックメニュー で「コピー」が便利

■ ニューラルネットワークの確認表示 print(m.summary()) ニューラルネットワークのオブジェクト名は m 確認表示は print(m.summary())

3. ニューラルネットワークの学習を行うプログラム

画像と画素 画素は,白と黒の2種類しかないとする 白は 0 黒は 1, とする 画像のサイズが 2 × 2のとき [0, 0, 0, 0] [0, 0, 1, 0] [0, 1, 0, 0] [1, 1, 1, 1]

学習の例 [0, 1, 0, 1] [1, 0, 1, 0] 1, を出力させる [1, 1, 0, 0] [0, 0, 1, 1] 2 を出力させる その他 0, を出力させる

学習用データセットの例 [[0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0], [0, 0, 1, 1], [0, 1, 0, 0], [0, 1, 0, 1], [0, 1, 1, 0], [0, 1, 1, 1], [1, 0, 0, 0], [1, 0, 0, 1], [1, 0, 1, 0], [1, 0, 1, 1], [1, 1, 0, 0], [1, 1, 0, 1], [1, 1, 1, 0], [1, 1, 1, 1]] [0, 0, 2, 1, 0] どういう入力のとき,どういう出力が出て欲しいかのデータ

3. ニューラルネットワークの学習 学習に使用されるデータセット どういう入力のとき,どういう出力が 出て欲しいかのデータ  出て欲しいかのデータ 形は配列(アレイ)

パソコン実習 さきほど作成したニューラルネットワー クは未学習 ニューラルネットワークのオブジェクト名は m 学習させるコマンドは, m.fit(x, keras.utils.to_categorical(y), epochs=1000)

ニューラルネットワークの学習 ■ 「5-3」のところのプログラムを,コピー,貼り付け spyder3 の右下の Python コンソールに張り付ける. 張り付けたあと Enter キー マウスの右クリックメニュー で「Paste」が便利 コピーしたい範囲をマウスで選び, マウスの右クリックメニュー で「コピー」が便利

■ 学習の終了の確認

4. ニューラルネットワーク を使うプログラム

ニューラルネットの使用例 0.14816035 0.02995965 0.82188004 入力 [0, 1, 0, 1] 4 個の数値 出力は, 各ユニットの 活性化の度合い ユニット数 3

パソコン実習 ■ 「5-4」のところのプログラムを,コピー,貼り付け 学習では,乱数が使用されるので,各自,違った値が 表示されることに注意. spyder3 の右下の Python コンソールに張り付ける. 張り付けたあと Enter キー マウスの右クリックメニュー で「Paste」が便利 コピーしたい範囲をマウスで選び, マウスの右クリックメニュー で「コピー」が便利

動作画面の例 入力 [0, 1, 0, 1] 4 個の数値 出力 [0.16840056, 0.8034449, 0.02815443] 3 個の数値 0, である確率 0.16840056 1, である確率 0.8034449 2 である確率 0.02815443

結合の重みの表示 「5-4」のところの2つめのプログラムを,コピー,貼り付け コピーしたい範囲をマウスで選び, マウスの右クリックメニュー で「コピー」が便利

ニューラルネットワークの例 結合 は 192 本 出力 入力 ユニット数 64 ユニット数 3 64個のユニットと,3個のユニットとの結合は 192本

結合の重み ユニット間の結合の強さを「結合の重み」 という. 学習では,結合の重みが変化する

4. ニューラルネットワークの使用 ・学習により,ニューラルネットワークの 結合の重みが変化 ・学習が済んだ後, 新しい入力を与えて,出力を見る