技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

ゼロから作るDeepLerning 3章

書籍はこれ

3章の内容を超ざっくり説明すると、各種活性関数(ニューロンに使用される関数)の説明と、MNIST データセット の紹介/(を読み込んで処理Pythonデータ構造にするライブラリの)使い方。
よく訓練されたニューラルネットワークの数字文字の識字率(見て驚けー)。

まで。

学習までは踏み込んでない状況。

公式のリポジトリ見ればわかるので、大した意味はないのだけど、この章で実装した各種活性関数/出力関数。

import numpy as np
import matplotlib.pylab as plt


def step_func(x):
    return np.array(x > 0, dtype=np.int)


def sigmoid(x):
    return 1 / (1 + np.exp(-x))


def relu(x):
    return np.maximum(0, x)


def identity_function(x):
    return x


def softmax(a):
    exp_a = np.exp(a)
    sum_exp_a = np.sum(exp_a)
    return exp_a / sum_exp_a