
この回でつかむこと
MLPの層と分類の出力を説明できる。
層を重ねて分類するって何だろう?
MLP(Multi-Layer Perceptron、多層パーセプトロン)は全結合層と活性化関数を組み合わせたモデルです。分類では、最後に各クラスの点数を出します。

1個のニューロンでは難しい形もあるんだ?

そうなんだよ。層を重ねると、入力された数を段階的に変えて、複雑な分類にも使えるようになるんだ。

出力が各クラスの点数になり、最大の点数を選ぶのですね。

はる 出力は2種類の「点数」です。学習前には正解と決められません。
MLPはMulti-Layer Perceptron。層を通すたび表現を変える。 MLP(Multi-Layer Perceptron、多層パーセプトロン)は全結合層と活性化関数を組み合わせたモデルです。分類では、最後に各クラスの点数を出します。
import torch
from torch import nn
model = nn.Sequential(nn.Linear(2,8),nn.ReLU(),nn.Linear(8,2))
x = torch.tensor([[1.0,0.0],[0.0,1.0]])
print(model(x).shape)なぜそうなる? 2件の入力それぞれについて、2クラス分の点数が出ます。学習前の点数には意味を付けません。
正解ラベルと比べる
分類の損失にはCrossEntropyLossを使えます。クラス番号を正解として渡します。
target = torch.tensor([0,1])
loss = nn.CrossEntropyLoss()(model(x),target)
print(round(loss.item(),3))ここに注目 点数をそのまま渡します。CrossEntropyLossの前でsoftmaxを重ねる必要はありません。
予想して、理由を話そう
答えを選んで、説明を確かめよう。外れても発見が一つ増えるよ。
答えを選ぶと理由が表示されます。
Colabで試してみよう
コードの実行はColaboratoryの実行環境で行います。まずノートブックを保存し、Colabで「ファイル → ノートブックをアップロード」から開いてください。上から順に実行し、最後に値を変えてみましょう。
保存ボタンを押しても画面は切り替わりません。通常はブラウザの「ダウンロード」フォルダに .ipynb が保存されます。見つからない場合はダウンロード履歴を確認してください。Colabの実習は小さな例から始められます。
身近な技術とつなげてみよう

AI先生:お店のおすすめも分類に似ているけれど、『好み』は人によって変わる。点数が高くても理由を考えよう。
この回の重要な用語
本文で出会った言葉を、ここで意味と一緒に振り返ろう。上の「ことばの窓」からも説明を開けるよ。
- MLP
- Multi-Layer Perceptron。全結合層などを重ねるモデルです。
- 全結合層
- 前の層の各値を次の層の各値へ結び、重み付きで計算する層です。
- クラス
- 分類したい種類。たとえば縦線と横線です。