【Tensorflow/Keras】ニューラルネットで論理演算(XOR)の学習

Pythonの機械学習モジュール「tensorflow/Keras」でニューラルネットワークを実装し、XOR演算を学習する方法をソースコード付きでまとめました。

【Keras】ニューラルネットでXOR演算の学習

今回は、Python3 + Kerasでニューラルネットワークを実装し、XOR演算の学習を行ってみます。

原理についてはこちら

404 NOT FOUND | Python入門速報
404 NOT FOUND | Python入門速報

動画解説

本ページの内容は以下動画でも解説しています。

■XOR演算の訓練データと正解データ

教師データ(x1, x2) 正解データ(y)
(0, 0) 0
(1, 0) 1
(0, 1) 1
(1, 1) 0

【今回作成するニューラルネットワーク構造】

入力層:ユニット数2(入力数2:x1, x2)
中間層:ユニット数3
出力層:ユニット数2(出力数2:y1, y2)

サンプルコード

サンプルプログラムのソースコードです。


【バッチサイズ】
勾配法で学習する際に, データセットを幾つかのサブセットに分けて学習することで、異常値の影響を小さくします
(例:100個のデータセットを20個ずつのサブセットに分ける場合、バッチサイズは20)

【エポック数】
以下の①②の流れを1回実行すると1エポック
① データセットをバッチサイズに従ってN個のサブセットに分ける。
② 各サブセットを学習に回す(N回学習を繰り返す)。

【Python/Keras】ニューラルネットでXOR演算の学習
Pythonの機械学習モジュール「Keras」でニューラルネットワークを実装し、XOR演算を学習する方法をソースコード付きでまとめました。
【TensorFlow版Keras入門】ディープラーニングを簡単に学ぶ方法
Pythonモジュール「TensorFlow/Keras」で深層学習(ディープラーニング)を行う方法について入門者向けに使い方を解説します。

コメント