DLの実務で避けて通れないのがハイパーパラメータ調整とGPU活用。G検定ではハイパラ探索手法とGPU/TPUの特徴が問われます。
ハイパーパラメータって、ただのパラメータと違うの?
ハイパーパラメータは、学習前に人間が設定する値のこと。
モデルのパラメータ (重み) は学習で決まるけど、学習率や層数は事前に決める必要があるの。
代表例は学習率、バッチサイズ、エポック数、層数、ニューロン数、活性化関数の選択、正則化係数など。
これ全部、手で調整するんですかぁ?
最適値を探す手法がハイパーパラメータ探索。
グリッドサーチ、ランダムサーチ、ベイズ最適化の3つが代表ね。
グリッドサーチは全組合せを試す愚直な方法。
網羅性は高いけど組合せが膨大になるから遅い。
ランダムサーチはランダム抽出で、効率が良いことが多いわ。
えっ、ランダムの方が強いの!?
2012年のベンジオらの論文で、『重要なパラメータが少数の場合、ランダムサーチの方が効率的』と示されたの。
全網羅は無駄が多いのね。
ベイズ最適化は過去の試行結果から次に試すべき値を推定する賢い手法。
OptunaというPythonライブラリが有名ね。
賢いAIにおまかせって感じですねぇ♪
DLを支えるハードウェアの話もしましょう。
CPU(Central Processing Unit) は汎用処理が得意、GPU(Graphics Processing Unit) は並列計算が得意で、行列演算の多いDLに最適よ。
特にNVIDIAのGPUとCUDAライブラリがDL業界を支配している。
PyTorchやTensorFlowはGPUで効率的に動作するように設計されているわ。
Googleが作ったTPUってのもあるんでしょ?
TPU(Tensor Processing Unit) はGoogleが開発したDL専用チップ。
行列乗算に特化していて、特に大規模言語モデルの学習で威力を発揮するわ。
他にはNPU(Neural Processing Unit) など、スマホ向けの小型AIチップもあるわ。
用途によって使い分けるの。
ハードもどんどん進化してるんだね!
G検定では『ハイパーパラメータ』『グリッドサーチ・ランダムサーチ・ベイズ最適化』『CPU・GPU・TPU』を押さえて!
確認クイズ
Google が開発したディープラーニング専用のプロセッサはどれか。
- GPU
- TPU
- NPU
- FPGA
こたえを見る
正解: 2. TPU
TPU (Tensor Processing Unit)はGoogleが開発したDL専用プロセッサで、行列乗算に特化しています。GPUはNVIDIA等の並列計算プロセッサ、NPUは小型AIチップ、FPGAはプログラマブル回路です。