深さと幅Depth vs Width
層を何段重ねるかと一段をどれだけ広げるか
- 深さは通り抜ける層の数、幅は一つの層に並ぶ計算単位の数です。
- 深さは順番に、幅は一度に処理されます。この違いが速さと機材選びを分けます。
- 深く重ねると、前の段階の結果の上に新しい判断を重ねられます。 単純な特徴が複雑な概念へと育ちます。
- 広く作ると、一段階でより多くのものを同時に見渡せます。抱えておける情報量が増えます。
- どちらか一方だけを大きくすると損です。実際のモデルは適切な比率を保ちながら一緒に大きくします。
目次
1たとえで理解する
宅配便物流センターに届いた荷物はいくつもの段階を通ります。まず地域ごとに一度分け、分けたものを町ごとにもう一度分け、最後に配達区域ごとにさらに分けます。この段階がいくつあるかが深さです。
一段階の中をのぞくと、仕分けレーンが何本も並んでいます。レーンが十本あれば荷物を十個同時に処理できます。一段階に敷かれたレーン数が幅です。
同じ大きさのセンターでも設計は分かれます。段階を六回通してレーンは少なく敷くこともできますし、段階を三回に減らしてレーンを二倍に敷くこともできます。荷物が通る道の性格がまったく変わります。
2くわしく
深く重ねると起こること
一つの層がすることは思ったよりささやかです。入ってきた値を少し違う形に混ぜて出す程度です。ところがこのささやかな作業を何度も重ねると話が変わります。最初の層が見つけた単純な信号の上に二番目の層が新しい信号を重ね、三番目の層がさらにその上に重ねます。
写真を扱うモデルを見るとこの階段が見えます。手前の層は明るさが変わる境界を探し、真ん中の層はその線が集まってできた模様を探し、奥の層は模様が集まってできた物体を見分けます。層を浅くすると、この階段を上る機会そのものがなくなります。
代わりに深さには代償が伴います。層は順番に通らなければならないので、層が二倍になれば答えが出るまでの時間もほぼ二倍になります。深くなるほど学習の信号が手前まで届きにくくなる問題も起きます。答えと正解のずれを最後の層から最初の層へ送り返す途中で信号がどんどん弱まり、手前の層がほとんど何も学べなくなるのです。飛び越える通路と目盛りを合わせる仕組みが付いて初めて、非常に深いモデルを実際に学習させられるようになりました。
広く作ると起こること
幅を広げるのは一段階にレーンをもっと敷くことです。同じ段階でより多くの異なる特徴を同時に見渡せます。抱えておく場所に余裕ができるので、覚えておける知識の量も増えます。
幅の長所は速さにあります。一つの層の中の計算は互いを待たないので、何千個も一度に回す機材によく合います。層数を増やすときと違って、答えが出る時間がそれほど長くならずに済みます。
ただし広げるのはお金がかかります。幅を二倍にすると、一つの層が持つ数字はおおよそ四倍になります。幅だけを増やし続けると、新しい判断の段階は得られないまま蓄える場所ばかりが大きくなります。
同じ大きさなら、どちらが良いか
全体の大きさを決めておいて深さと幅をどう配分するかを調べた実験は数多くあります。結果はおおむねこうです。どちらか一方に極端に偏ると損ですが、ある程度の範囲の中では比率よりも全体の大きさのほうが性能をずっと大きく左右します。
だから実際の設計は検証済みの比率を大きく外れません。大きさを増やすときは深さと幅を一緒に増やしつつ、学習が揺らがない範囲で調整します。
読む側が覚えておくべき点は一つです。層数だけを見てモデルを比べることはできません。層が少なくても幅が広ければ、より大きなモデルということもあり得ますし、その逆もあります。
速さと機材が分かれる地点
答えを待つ時間を減らしたいなら深さがまず引っかかります。層は一つずつ順番に通らなければならないので、どれだけ良い機材を付けても層数分の順番は減らせません。
反対にメモリが足りないなら幅がまず引っかかります。広い層は一度に載せておく数字が多く、グラフィックメモリを大きく食います。
だから同じ大きさでも、深くて狭いモデルは待ち時間に不利で、浅くて広いモデルはメモリに不利です。どちらが優れているというより、何に使うモデルかが答えを決めます。手元の端末で動かすなら幅を絞った深いモデルが、大きなサーバーで一気に答えを返すなら幅を広げたモデルが選ばれやすくなります。
3もう少し正確に
深さは層の個数、幅は一つの層の計算単位の数を指します。言語モデルではブロック数を深さ、一片が持ち歩く数字の個数を幅と呼ぶことが多いです。一つの層が持つ数字は幅の二乗に近い形で増え、層数には比例して増えます。幅を二倍にすると四倍、深さを二倍にすると二倍になる計算です。
たとえがずれる点もあります。物流センターのレーンは同じ仕事を分担しますが、ニューラルネットワークの一層の単位はそれぞれ違う特徴を見ます。どの単位が何を見るかは人が割り振るのではなく、学習の過程で自然に分かれていきます。また荷物は段階を通っても姿はそのままですが、ニューラルネットワークを通る数の束は層ごとにまるごと新しい値に変わります。物流センターは段階を増やすと常に遅くなるだけですが、ニューラルネットワークは深くなることで得られる精度が増えた時間を取り返すことが多いという点も違います。だから設計はいつも二つの軸を一緒に調整する問題になります。
4やってみる
5よくある誤解
層が深いほど必ず性能が良くなると思われがちですが、実際には幅が伴わなければ深さだけ増やしても得るものは少ないです。
層数がそのままモデルの大きさだと思われがちですが、実際には層が少なくても幅が広ければずっと大きなモデルということがあります。
幅を増やすほうが層を追加するより安いと思われがちですが、実際には幅を二倍にすると数字はおよそ四倍に増えます。
7ひとこと要約
つまり深さは順番に通る層の数、幅は一つの層の広さで、よくできたモデルはどちらか一方だけを増やさず比率を保ちながら一緒に大きくします。
誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02