Semiconductor Portal

» 寄M » 寄M(半導応)

ニューロチップ説 〜いよいよ半導の出番(5-2)

ここでは、GoogLeNetやResNetの良い点をDり込んだ、Squeeze Netと}ぶシンプルなモデルについて検討している。その圧縮\術に適したT果も紹介している。(セミコンポータル集室)

著v:元半導理工学研|センター(STARC)/元東 瀬 啓

5.2 |極のeへ(k定のレベルへ)〜シンプルなモデルへの適とNMTへのt開
この寄MがS様の`に触れる頃には、ImageNet/ISLVRC2016やNIPS2016も終了していると考える。その時にどのようにネットワークモデルが進化しているのか気になるところではある。GoogLeNetなりResNetを越える新しい考え気あるのだろうか。本Iでは、ネットワークモデルさらに圧縮\術もあるk定レベルの形にまとまりつつある(タイトルには|極と入れたが)との認識の元に、現Xの\術の広がりを茲靴討く。 まず、シンプルなSqueeze Netを紹介し、そこへの圧縮\術適T果を紹介する。最後に、NMT(ニューラル機械翻l)への適のX況を述べる。

(1)まとまってきたネットワークモデル(Squeeze Net)
2章で触れたが2016Qの2月にArxivに発表されたSqueeze Netに関し紹介しておく(参考@料50)。著vはUC BerkeleyのF. N. Iandolaである。Deep Compressionの開発リーダのスタンフォードj学のS. H. Hanも共同執筆vである。F. N. IandolaはAIビジネスを行うDeepScale社(参考@料112)の実業も行っている。その点から\術内容に極めて実的な印をpけた。オリンピック級は狙っていない。画鞠Ъ韻了@度のターゲットをグッと落としてAlexNet当時のレベル(80〜85%の@度)にしている。逆に効率よくわかりやすく組み屬押∩犧遒靴笋垢しているのが徴だ。

Squeeze Netと@iをけているが、著vも述べているようにNIN(Network in Network)、GoogLeNet、さらにはResNet(参考@料26, 27, 28)の\術の良い点を単純にDり込んでいる。ただし、それらをvることにあまり関心はないようだ。CNNのC0型の構成だ。画鞠Ъ韻鬟拭璽殴奪箸箸靴謄潺奪疋譽鵐犬了@度で、最も高効率(サイズと@度)を`指している。

参考@料をベースに図50を作成した。左笋Squeeze Netのモデル景をした。黄色はQ込み層、水色はMax Pooling層(1/4)である。ピンク色の霾が核心となるFire Moduleである。合8モジュール入っている。Fire Moduleの中身は図にt開しているように、3つのピンク色のQ込み層から形成されている。1×1のSqueeze層と、1×1と3×3が並`に並ぶExpand層からなる。数値はチャンネル数(徴マップ数)だ。余iだが、C0型はフィルタだけが的に書かれるのが昨今の流れである。マップのサイズは、Pooling層の位をみて容易に判できる。

Fire ModuleのQブロックの働きを考える時に、そもそもフィルタとは何かであるが、1×1では情報をQみ込んでゆくは本来ない。主役は3×3のフィルタだ。だが3×3のフィルタでも入96チャンネル(入の徴マップ数)を直接入れると莫jな_みの数が、そしてQ量がHくなる。そこで、i段にSqueeze層と称して1×1をきチャネル数を絞り(Squeeze)、そしてExpand層の内陲砲亙怠`に1×1をき3×3をがっちりガード(実的にチャネル数を折半)して堙戮離侫ルタ作業(極チャンネル数を下げる)をさせないようにしている。なお、\巧的には、Squeeze層の1×1はNIN (Network in Network)のBottleneck層とく同じだ。

そしてじわじわと1000チャンネル(チャンネル数が仕分けるクラス数)までの階段を屬襦A愎瑤班堽瀕┐蓮Squeeze Netは18層で15.3%の不良率、GoogLeNetは22層6.7%、ResNetは34層3.57%となる。いで1000段の階段を屬襪ξ以屬縫献礇鵐廚垢襪海箸ら不良率も屬る。ゆっくり登れば、Dりこぼしも少ない。いかにゆっくり登れるかが@度アップのポイントだ。

Squeeze Net(他のNetも基本はかなり同じだ)の原理は以屬任△襦ただし、Squeeze層の絞りこみがきついと情報が次段に伝わらない。その敢として登場したのが図50には記載していないがショートカットループだ。情報を先にリークし伝達する。バイパスをもつResNetのショートカットループのことだ。なおこのSqueezeネットに限らず般的に理b的な説はあまりない。


図50 Squeeze Net景と、Fire Moduleの内霍柔 (参考@料50を参考に作成)

図50 Squeeze Net景と、Fire Moduleの内霍柔 (参考@料50を参考に作成)


表8にネットを構成する入サイズ、マップ数、フィルタサイズ、出サイズ、マップ数を、またニューロン数、接数をQ層ごとにQしk覧とした表を参考としてした(筆vがQをトレースした)。サイズ的には、18層、1.3M個_み、8.4億vMAC演Q、15.3%エラー率だ。構]としてZいGoogLeNet22の値をすと、22層、7M個_み、15億vMAC、6.66%となる。Squeeze Netはパラメータ数が1/5で、やはりミッドレンジクラスだ。

表8でFire2モジュールのみ内陲してあり、Squeeze Layer S2、Expand Layer e2-1とe2-2の値が見えるようにしてある。他のモジュールはモジュールの和として値をした。なお、b文ではQパラメータの感度(sensitivity)もh価しており、tでかつかなり直感的に読めるのでk読をおめする。


表8 Squeeze NetにAlexNetモデルを適した際のQ層のパラメータk覧

表8 Squeeze NetにAlexNetモデルを適した際のQ層のパラメータk覧


(2)圧縮\術を適する〜Q込み層だけだが〜
表9に、IandolaらがSqueeze NetにPruningとクラスタリング(量子化)を適した際のパラメータ数の変化と、ベンチマークのImagenet/ILSVRCのTop1とTop5の@度の値を転載し、情報を加えて比較表にした。最崔覆涼57.2%と80.3%がベースの値だ(ベストの値ではない)。AlexNetに圧縮\術を適した場合と、Squeeze Netに適した場合の圧縮率と、@度の変化をした。@度の変化(劣化)はMaxで0.3%と極めて小さい。k機圧縮率はAlexNetで35倍(これは4.3Iで紹介した値と同じ)に瓦靴Squeeze Netでは10倍しか圧縮されていない。AlexNetはT合層をeち、その圧縮率がjきいからである。まとめると、ネットワークモデルの効率化で50倍、圧縮\術で10倍の効果があり、AlexNet比500倍の改がなされたことになるというのが彼らのT果である。メモリ容量では、0.47MBと極めて小さく、容易にSRAMオンチップ化が可Δ澄


表9 SqueezeNetとAlexNetとの比較と圧縮\術適のT果
参考@料50を参考に作成

表9 SqueezeNetとAlexNetとの比較と圧縮\術適のT果 参考@料50を参考に作成


(3)圧縮\術のO動翻l(NMT:Neural Machine Translation)への適
図51にStanfordj学のAbigail Seeらが発表しているNMT(参考@料72, 73)モデルのアーキテクチャをした(@料を参考に作成)。モバイルへの搭載をターゲットとし、Pruning\術の適を検討した。実△慮‘い呂靴討い覆ぁ1儻譴らフランス語への機械翻lである。彼らの例では5万個という英語の単語(ボキャブラリー数:ワンホットベクトル)を時U`的に分g表現(word embeddings:単語間の関連性1000次元(n)のベクトルで表現)する。同時に瓦箸覆襯侫薀鵐晃譴砲眛瑛佑良集修鮖椶掘⇔掌生譴琉果関係をつけ学{(教師~り)する。ソース筺淵┘鵐魁璽筺П儻譟砲肇拭璽殴奪筺淵妊魁璽筺Д侫薀鵐晃譟砲魏に積み_ねた2_のRNN (2Stacked RNN) 構成である。


図51 2 Stacked RNN (LSTM) 構成からなるNMTモデル (参考@料72、73を参考に作成)

図51 2 Stacked RNN (LSTM) 構成からなるNMTモデル (参考@料72、73を参考に作成)


(ア) モデルの構成
学{の際には、入笋茲衒絃蓮Sentence:I am a manと、Je suis homme)を入し、ターゲット言語出(筺砲任慮躡后Je suis hommeとの差)を誤差逆伝鯔,妊侫ードバックする。てT合である。

e妓の層構成(Feedforward筺砲蓮∈能蕕肪姥譟淵椒ャブラリー)を分g表現に変換する処理層がある。V=50kとn=1000のT合層により変換される。5万次元から1000次元へと圧縮された後に、時U`的のRNNに入る。彼の構成はe妓4層の隠れ層(hidden layer)をもつ。1000次元で崛悗坊劼る。隠れ層の笋砲蓮Attention層(説省S)と分g表現から単語に戻す層(50k×1k)がある。最崛悗砲歪_みのないSoftmax層があり、単語(ボキャブラリ)の確率を出する。

横妓の層構成(Recurrent筺砲蓮▲宗璽笋k`(英語のI)があり、その後に次の時刻に来る二`(英語のam)が来る。"am"は"I"との関連(例えば文法)があるので、横妓のRecurrentのパスをpける。さらに笋僕茲董▲妊魁璽澄笋砲屬弔りフランス語笋任了U`の処理を行う。実際には、図のソース言語笋虜筺丙或Г燐`)の`とターゲット言語笋虜笋燐`(型Г燐`)が実在し、時U`的に仮[アレイを構成し図の様な形になる。
コア霾はLSTM (Long Short-Term Memory) からなる。次元は峅失共にn(=1000)だ。よって4nの次元となる。入はe笋Feedforward笋同じくn(=1000)、横妓のRecurrent笋n(=1000)となり、コアでのパラメータ数は4n×2n =8n×n (n=1000) となることから、コア当たり8M個eつことになる。

(イ) パラメータ数
図51の笋坊Q層のパラメータを記載した。時U`t開の仮[分は含まない。下笋諒g表現および隠れ層(陲4層)の霾はソースとターゲットで2倍となる。合は216M個(b文では214M個だがQミスかもしれない)となる。分g表現への符イ修筏嬋簟イ修旅膽150M個がの75%をめる。すなわちT合のU命であるがボキャブラリの数に咾依Tする。図52にNMT (O動翻l) のポイントを{加した。なお、このNMTに限り入次元数は入と初段の層のルート平均(10の4乗)とした。


図52 ネットワークモデルとパラメータ数(メモリ容量)との関係(圧縮モデルを{加)

図52 ネットワークモデルとパラメータ数(メモリ容量)との関係(圧縮モデルを{加)


(ア) 圧縮(Pruning)\術の適
Deep CompressionのHanらと同様に、Training - Pruning - Retrainingの}順を採している。またPruningはパラメータを小さい順に並べ、しきい値でカットしている。そのT果、性Δ鰺遒箸気困縫僖薀瓠璽燭20%まで圧縮することが可Δ世辰拭214M個が42M個に圧縮された(参考@料72ではストーレジ量での記載があるが、本寄Mではパラメータ数を使した)。図52にNMTの圧縮後の値をuの星★でプロットした。AlexNetの62M個に瓦靴討肋ないが、依かなりの量である。同様に、EIEとSqueeze Netの圧縮後の値も靴ぁで{加した。

機械翻lの@度の劣化もなく、_み数42M個とメモリをオンチップ可Δ淵譽戰襪泙任發k歩という印である。画鞠Ъ韻又き、実は言語を扱うことからM易度が高い機械翻l(GNMT: Google Neural Machine Translationの報告(参考@料99, 100)含め)や、同|の音m認識をテーマとしたLSI実△慮‘い今後k層_要となる。


集R)瀬の現在の肩書は、LOj学 j学院情報科学研|科 学術研|^である。

ごT見・ご感[
麼嫋岌幃学庁医 釜型俳久尢捲醍醍| 溺議闇蝕挺笥斑槻繁涌| 冉巖忽恢庁蒙壓濂シ| 娼瞳忽恢匯曝屈曝眉曝涙鷹| 忽恢撹繁怜匚牽旋壓濆杰簡啼| 91秉斤斛濘緩夙睦惟| 右右低戦中挫面載罷音覲栖| 消消消涙鷹娼瞳冉巖晩昆築洋惜咳| 天胆繁嚥來琿復k塘| 冉巖弼裕裕弼玻玻際際99利| 娼瞳牽旋篇撞匯曝屈曝眉曝| 忽恢冉巖槻繁議爺銘壓濆杰| 冉巖爾秤篇撞夕頭| 忽恢篇撞匯曝屈曝壓濆杰| www嶄猟忖鳥壓濆杰| 委邦砿蝕邦慧b戦頁焚担湖状| 消消娼瞳忽恢峪嗤娼瞳2020| 天胆怜匚弌篇撞| 冉巖母絃AV匯曝屈曝眉曝只鮫| 槻繁次次猶溺繁次次篇撞| 嗽仔嗽訪議篇撞窒継心| 欧腿築篇撞壓濆杰竿訖| 忽恢撹繁怜匚娼鯖匣| 冉巖爺銘2016| 忽恢娼瞳患咳秉斤斛濆杰| 91牽旋篇撞匯曝| 壓瀛啼議禧議忽恢牽旋| mp1pud醍狭箪悶| 弌哦嚥量指舅損彊徊米| 嶄猟忖鳥壓濘監| 晩云pissjapantv嘩侭徭| 消消娼瞳撹繁天胆寄頭窒継| 天胆www壓濆杰| 冉巖忽恢天胆壓瀏乏姫欝坐 | 娼瞳寔糞忽恢岱猟壓| 忽恢匯雫及匯雫谷頭| 楳楳課圻1769消消窒継殴慧| 忽恢撹繁av眉雫壓濆杰| 爺爺消消唹篇弼穽杠詫| 忽恢娼瞳冉巖娼瞳晩昆窮唹| 2021爺爺孤|