TensorFlow
TensorFlowとは?
TensorFlowは、Googleが開発した大規模な数値計算ライブラリです。特に、機械学習、特に深層学習モデルの構築と訓練に特化しています。
計算グラフとは?
計算グラフは、数値と演算の組み合わせで表された一種のフローチャートのようなものです
ノード: 計算グラフの各ノードは、Tensor(多次元配列)を表します。
エッジ: ノード間のエッジは、演算を表します。例えば、足し算、掛け算、ニューラルネットワークの層などが該当します。
セッションとは?
セッションは、実際に計算グラフを実行するための環境です。セッションを作成し、その中で計算グラフを実行することで、具体的な数値を得ることができます。
例:計算グラフとセッション
import tensorflow as tf
# 定数
a = tf.constant(2)
b = tf.constant(3)
# 加算の計算グラフ
c = a + b
# セッションの作成
sess = tf.Session()
# 計算の実行
result = sess.run(c)
print(result) # 出力: 5
定数の定義: aとbという定数を定義しています。
計算グラフの定義: cは、aとbの足し算を表す計算グラフのノードです。
セッションの作成: sessというセッションを作成します。
計算の実行: sess.run(c)で、計算グラフを実行し、結果をresult変数に格納します。
ニューラルネットワークとは?
ニューラルネットワークは、人間の脳の神経回路網を模倣した数学モデルです。大量のデータを学習し、複雑なパターンを認識したり、予測したりすることができます。
ニューロンとパーセプトロン
ニューラルネットワークの基本単位は(人工)ニューロンです。ニューロンは、複数の入力を受け取り、それらを重み付けして足し合わせ、活性化関数に通すことで出力値を生成します。
神経細胞ニューロンの特徴を再現された(単純)パーセプトロンという単純モデルがあります。パーセプトロンは、入力の重み付き和が閾値を超えると1を出力し、そうでなければ0を出力するような仕組みです。
多層パーセプトロン
単純パーセプトロンは入力層と出力層の2層のニューラルネットワークです。ニューラルネットワークは、複数のパーセプトロンを層状に重ねた多層パーセプトロンと呼ばれる構造を持っています。
入力層: 外部からデータを入力する層
隠れ層: 入力層と出力層の間にある層で、特徴抽出を行う
出力層: 最終的な結果を出力する層
活性化関数
活性化関数は、ニューロンの出力値を非線形に変換する関数です。代表的な活性化関数には、以下のものがあります。
シグモイド関数: 出力値を0から1の範囲に収める
tanh関数: 出力値を-1から1の範囲に収める
ReLU関数: 入力値が正のときに入力値をそのまま出力、負のときには0を出力
損失関数
損失関数(誤差関数)は、ニューラルネットワークの出力と正解ラベルとの間の誤差を表す関数です。この誤差を最小化することで、ニューラルネットワークの学習を行います。代表的な損失関数には、以下のものがあります。
二乗誤差: 回帰問題でよく使われる
クロスエントロピー誤差(交差エントロピー誤差): 分類問題でよく使われる
この記事が気に入ったらサポートをしてみませんか?