ResNet(4/4)総括

はぐれ弁理士 PA Tora-O です。前回(第3回)では、ResNet の改良技術について説明しました。改めて復習されたい方は、こちらのリンクから確認をお願いします。今回(第4回)は、クレームを含む発明ストーリーを作成し、これまで3回分の検討を総括します。

発明ストーリー

【従来技術】
いわゆる Alexnet(Krizhevsky et al)の登場以来、畳み込みニューラルネットワーク(CNN)の階層をより深くという設計思想が主流になっている。

【問題点と課題】
問題点は、ネットワークの階層を深くするほど学習が進みにくくなること。
課題は、ネットワーク構造の工夫によってCNNの深層化を実現すること。

【クレーム骨子】(ResNet
 入力特徴マップに対して学習パラメータ群を用いた演算を施し、中間特徴マップを生成する第1演算部と、
 入力特徴マップおよび中間特徴マップのそれぞれ対応する要素値を加算して特徴マップを合成する第2演算部と、
 を含む演算ブロックを直列的に接続したブロック群を含む畳み込みニューラルネットワークを構築可能に構成されることを特徴とする情報処理装置。(166文字)

【作用効果】
第2演算部により合成された特徴マップを出力特徴マップと定義するとき、中間特徴マップは、出力特徴マップから入力特徴マップを差し引いた残差特徴マップに相当する。例えば、学習が進行していない等の理由によって残差特徴マップを正しく計算できない場合であっても、上流のブロックから供給された入力特徴マップを下流のブロックに伝達することができる。そうすると、CNNの深層化に伴う学習時の弊害、すなわち、逐次的演算に伴う特徴マップの劣化により生じる、学習の停滞が抑制される。これにより、ネットワーク構造の工夫によってCNNの深層化を実現することができる。

作者コメント

補足として、クレーム骨子の2箇所(グレーのマーカ部分)だけ解説します。

1番目の「学習パラメータ群を用いた演算」に関して、一見不要な文言とも思われます。ところが、学習パラメータ群を用いない演算では、「特徴マップの劣化に起因する学習の停滞」という問題が生じません。そこで、構成および作用効果の因果関係を明確にするため、この文言を追加しています。

2番目の「それぞれ対応する要素値を加算」に関して、これも一見不要な文言とも思われます。要するに、「入力特徴マップと中間特徴マップを合成する」と単に表現してはダメなのか、という疑問です。

(1)「合成」という表現には、加算(Add)の他にも、連結(Concatenate)の意味も含まれると考えます。「連結」には、マップサイズまたはチャンネル数を2倍に増やす処理が考えられますが、入出力の前後にわたって特徴マップの同一性が失われることから、ResNet の趣旨から逸脱しているように思われます。つまり、「要素値を加算」には、マップ合成の演算方法を決め打ちしておきたいという意図が現われています。

(2)これまで、入力特徴マップと残差特徴マップとが同じサイズであるかのように説明しましたが、必ずしもそうとは限りません。

【数】Residual blockの演算式

例えば、残差特徴マップのサイズが半分である場合、入力特徴マップの元のサイズを半分にした後に、両者を合成(要素値を加算)する必要があります。そこで、入力特徴マップと残差特徴マップとが異なるサイズである場合も念頭に入れて、「(マップ上の位置が)それぞれ対応する」という表現を用いています。

 

以上をもちまして、ResNet の事例検討を終了します。次回から、また別のテーマに移ります。

↓ブログランキングに参加しています。よろしければ1クリックお願いします。

にほんブログ村 士業ブログ 弁理士へ
にほんブログ村

にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村