VRChat ML集会 第4回:y=ax+bから始める初心者向けML講座 - クルツさんの解説
詳細情報
※以下文章はスライド資料を元に自動生成されたものです。
発表のハイライト
- 機械学習(ML)の基礎を、誰でもわかりやすいように丁寧に解説。
- 画像認識に特化したニューラルネットワークであるCNN(畳み込みニューラルネットワーク)の仕組みを解説。
- CNNにおける畳み込み処理とプーリング処理の基礎を、具体的な計算例を用いて解説。
機械学習におけるタスク別の出力層設計
機械学習(ML)では、AIがどのようなタスクをこなすのかによって、ニューラルネットワークの出力層の設計が大きく変わってきます。クルツさんは、AIの出力層を大きく3つに分類して解説してくれました。
回帰(数値予測)
回帰とは、例えば「宇宙猫屋の売上予測」のように、何かしらの数値を予測するタスクです。この場合、AIの出力層は1つだけで、活性化関数は使いません。誤差は、予測値と正解値の差の2乗和誤差で計算します。
2分類問題
2分類問題とは、「画像が猫かどうか判定する」のように、2つの選択肢からどちらか一方を判定するタスクです。出力層は1つで、活性化関数はシグモイド関数を使います。誤差は、交差エントロピー誤差で計算します。
多分類問題
多分類問題とは、「画像が猫、犬、それともこやーそなのか判定する」のように、複数の選択肢からどれかを判定するタスクです。出力層は、予測したい分類の数だけ用意します。活性化関数はソフトマックス関数を使用し、誤差は交差エントロピー誤差で計算します。
画像を扱うニューラルネットワーク:CNNの基礎
クルツさんは、画像を扱う際に便利なCNN(畳み込みニューラルネットワーク)の基礎について解説しました。
ディープラーニングの基本:ニューラルネットワーク(NN)
CNNは、ニューラルネットワーク(NN)の一種です。NNは、入力層、隠れ層、出力層で構成され、各層にはノード(パーセプトロン)と呼ばれる計算ユニットが配置されています。
クルツさんは、NNの基礎的な仕組みを説明した後、画像をNNに入力する際にどのように処理するのかという疑問を投げかけました。
画像データをDNNに入力する方法
例えば、100px × 100pxのカラー画像であれば、1ドットずつの色情報(RGB)をパラメータとしてDNNに入力することになります。すると、3万個もの入力データが発生することになります。
クルツさんは、この大量のデータに対して、画像の特徴を効率的に抽出する仕組みとして、CNNにおける畳み込み処理とプーリング処理の重要性を解説しました。
畳み込み処理
畳み込み処理とは、画像データに対して、フィルターと呼ばれる小さな行列を適用し、特徴を抽出する処理です。クルツさんは、フィルターのサイズや計算方法、そしてy=ax+bと畳み込み処理の関係性などを丁寧に解説しました。
プーリング処理
プーリング処理は、畳み込み処理で得られた特徴マップを圧縮し、計算量を削減する処理です。マックスプーリングとアベレージプーリングの2種類があり、それぞれ最大値と平均値を抽出する特徴があります。
最終的なCNNの構造
クルツさんは、CNNの全体像を説明し、畳み込み処理とプーリング処理を交互に繰り返すことで、画像の特徴を効率的に抽出し、DNNと連携して画像認識を行うことを示しました。
まとめ
クルツさんの発表では、機械学習(ML)の基礎から、画像認識に特化したCNNの仕組みまで、初心者にも理解しやすいように解説していただきました。特に、畳み込み処理とプーリング処理の計算方法を具体的に説明することで、CNNの仕組みをより深く理解することができました。
機械学習は、奥が深く、最初はとっつきにくい分野ですが、クルツさんの解説のように基礎をしっかりと理解することで、より楽しく学習を進めることができるでしょう。