Deep Learning における Skip Connection の研究まとめ

背景と課題 ~Deepすぎると学習が進まない~


  • CNNでは層を深くすることが重要
  • 層を重ねることで高度で複雑な特徴を抽出できる
    • 2012年に画像認識の首位となったAlexNetは14層
    • 2014年に画像認識の首位となったVGGNetは19層
    • 同じく2014年に首位となったGoogleNetは22層
    • 2015年に画像認識の首位となったResNetは152層
  • このとき、層を深くすると思い通りに学習が進まない課題があった
    • 勾配消失
    • 勾配発散

引用:Deep Residual Learning MSRA @ ILSVRC & COCO 2015 competitions


ResNetのアイデア


元論文: [1512.03385] Deep Residual Learning for Image Recognition

  • 入力値と出力値の差分(残差)を学習する
    • Deepになると入力xと出力x*Wは極めて近い値
    • ならばxをそのまま残して差分を計算した方が効率的
  • 残差ブロックの提案
    • 畳み込み層+Skip Connection(恒等写像)を組み合わせた
    • Skip Connectionによって誤差逆伝搬をしやすい
    • 変換不要ならば畳み込み層のWeightを0にすればよい
    • 既にいい感じになっているxに余計なことをしなくてすむ
    • Skip Connectionなしでは非線形写像によってxが理想値から離れることがある
  • 残差ブロックのアーキテクチャ
    • Plainアーキテクチャ
      • 3×3のconv層が2つ
    • Bottleneckアーキテクチャ
      • 1×1のconv層でdimを小さくして、、、
      • 3×3のconv層にかけて、、、
      • 1×1のconv層で元々のdimに戻す


『DenseNet』CVPR2017 BEST PAPER


元論文: [1608.06993] Densely Connected Convolutional Networks

アイデア:層の間で情報伝達を最大化する

  • 上の図は1つのDenseBlockを表す
  • ℓ番目の層への入力は、0~ℓ-1番目の層の全出力となる

 

 

  • このようなDenseBlockを4つ含むネットワーク構造を提案
  • ダウンサンプリングなどのためにDenseBlock間にPooling層も挿入

ちょっと、やりすぎだろ・・・・

 


Skip Connectionとよく似たContracting Path構造(U-Net)


[q505.04597] U-Net: Convolutional Networks for Biomedical Image Segmentation

 

  • Image-ClassificationではなくImage-Segmentationのタスクで生まれた手法
    • Semantic Segmentationにおいて位置は保存したい重要情報
    • CNNではPoolingや畳み込みをするほど位置情報が曖昧になることが課題
    • 局所的特徴と全体的位置情報の両方を把握したい
  • 形がU字なのでU-Net
    • 左側がEncoder
    • 右側がDecoder
  • Up-Sampling後にEncoder部の同次元数の特徴を連結する
    • あまり畳み込みされていないEncoder部では位置情報が保たれているという仮定
    • concatenation with the correspondingly cropped feature map
    • 従来どおり特徴を抽出しつつ、位置情報を保存する

 

 


Skip Connectionの有効性を解明


[1712.09913] Visualizing the Loss Landscape of Neural Nets

LOSS関数を可視化することで近年のNeural Networkのアーキテクチャの有効性を検証した論文。Skip Connectionを利用した場合(右図)は、non-convexからconvexに近づく。

 


Skip Connectionを含む新しいネットワーク構造 ~Deep Layer Aggregation (CVPR2018)~


[1707.06484] Deep Layer Aggregation

疲れたのでまた今度・・・

 

 

統計におけるp値とt値 ~聞くは一時の恥、聞かぬは一生の恥~


■p値

回帰分析で求めた変数xの係数kに対し、『変数xは有効ではない』という帰無仮説を考えたとして、『偶然に係数がk以上になる確率』を表す

p値の解釈についてはコチラの表現がわかりやすい

 

カンタンに言うと「その仮説が正しいと仮定したら、今回みたいな結果が起きる確率はこんなにも低いんだ。偶然こんなに低い確率を引いたと考えるより、その仮説は正しくないと考える方が自然じゃない?」と主張するときの『こんなに低い確率』 https://atarimae.biz/archives/12011#p

 

仮説を否定するときの基準は『p値0.05以下』が広く用いられている

まわりくどいように感じるが、まとめると以下の流れ。
・変数xは有効ではないという仮説を立てる
・偶然では考えにくいような結果が出た
・きっと仮説は誤っていた、つまり変数xは有効だ!

 


■t値

・2つの集団に対して平均値に有意差がありかどうか判定する基準値

 

例えばトレーニング前の体力測定データの集合Xと、トレーニング後の体力測定データデータの集合Yを用意して、t値を算出することでトレーニングによる有意差があるかどうか検定ができる。

 

 

<数式の直感的な解釈>

分子:2つの集団間で平均値の差が大きいほどt値(有意差)が大きくなる

分母:それぞれ集団の分散が大きいほど、たまたま2集団間の平均値が離れただけの可能性があるのでt値(有意差)が小さくなる

分母:サンプルサイズ(mとn)が大きいほど、XとYの平均値が母集団を正確に表現できているのでt値が大きくなる

全員リーダーの組織論

大学選手権9連覇中の帝京大学の岩出監督の言葉

・過剰なトレーニングを強いるのは指導者の不安解消でしかない

・楽しくさせてやったら人間だれでも動く

 

BS1スペシャル
「“全員リーダー”の組織論~帝京大ラグビー9連覇~」
ラグビー大学選手権で前人未到の9連覇を果たした帝京。脱体育会系を掲げ選手一人一人に考える力を求めた岩出監督と選手15人のインタビューで負けない組織の核心に迫る。 

http://www4.nhk.or.jp/bs1sp/x/2018-01-28/11/15594/3115361/

 

コントロールするのではなく、自発的に動く環境を作る。やはりこれに尽きるようですね。

どシンプルながらも強力なPruningによるネットワーク高速化 ~Pruning Filters for Efficient ConvNets~

本日はPruningによるネットワーク高速化の論文を取り上げます。背景としてはディープニューラルネットワークではConv層の計算量やパラメータ数が膨大で、処理時間増大やメモリ圧迫が生じるのでなんとかしたいというところから来ていますね。

特に、ディープラーニングを組み込みで動かす場合はこのあたりの話はかなりシビアに効いてきます。


Pruning Filters for Efficient ConvNets (2017)(PDF
Hao Li, Asim Kadav, Igor Durdanovic, Hanan Samet, Hans Peter Graf

・Pruningによる高速化手法。
・Conv層をカーネルごと削減する手法を提案。


・L1ノルムが最小のカーネルを有効性が低いと仮定して削除する。
・既存のBLAS等のライブラリで実現可能。

 

・ResNetなど複雑な構造のネットワークでもConv層のPruningは可能
・関連するLayerもあわせて次元削減して次元数を揃える点に要注意
・Residualを出力するConv層を基準に削除次元を選定すると良いとのこと

 

・ランダムにカーネル選定するよりはL1を用いた方がわずかに良かった

 

・Layer別にPruning時の性能低下率と速度向上率を検証。
・性能低下を招きやすいLayerや、速度向上しやすいLayerがあることを示した。


所感

カーネル選定手法はまだまだ議論の余地はありそうですが、ポピュラーな構造のネットワークについて丁寧に検証されている論文でした。

ニューロンの重要度を逆伝搬的に算出してPruning ~NISP: Pruning Networks using Neuron Importance Score Propagation~

NISP: Pruning Networks using Neuron Importance Score Propagation
University of Maryland & IBM T. J. Watson Research
https://arxiv.org/abs/1711.05908

2017年11月に発表された論文。タイトルから察するにNIPSでNISPという技術を発表してウケを狙ったのかな・・・?(未確認)


概要

ディープニューラルネットワークの高速化技術に該当。

特にCNNではパラメータが膨大すぎて計算時間がかかることが課題視されており様々な研究がなされている。

主な手法は不要なニューロンを削って高速化するPruningと、量子化対応(例えば16bitのところを近似して8bitにする)による計算高速化。

こちらの論文はPruningによって高速化を図っており、いかに不要なニューロンを削って、重要なニューロンを残すのか、その選定手法を提案している。


手法

ディープニューラルネットワークの最後のLayer(識別結果出力の直前)にて各ニューロンの重要度を算出。

 

重要度算出には、このLayerにおける各ニューロンは入力Xを抽象化して得られた特徴量であると解釈して、下記の特徴量選定手法(ICV2015)を適用。

https://www.cv-foundation.org/openaccess/content_iccv_2015/html/Roffo_Infinite_Feature_Selection_ICCV_2015_paper.html

 

それ以外の手前のLayerでは下記手順で重要度を算出

①そのニューロンをPruningした場合としなかった場合との差分を算出

②各ニューロンでの差分*各ニューロンでの重要度の和によって「Pruningによる影響」を算出

③「Pruningによる影響」が最も小さいニューロンをPruningに選定する

※直感的には、このニューロンを削ったとしても重要度の高いニューロンに影響がないようなものをのPruning対象に選択する


所感

比較対象がRandomにPruning対象を選んだ場合や、Pruningのたびにゼロから学習しなおした場合(scratch)なので、もっとそれらしい手法と比較をしてほしかった。

 

しかし、なんとなくではなく理論立てて納得感のあるPruning候補選定をした点は希少と感じており、今後このような研究が増えてほしい。

IoTシステム技術検定 試験対策⑥

IoT技術テキスト -MCPC IoTシステム技術検定 対応

今回はIoTシステム技術検定の試験対策として「第7章 IoT情報セキュリティ」を中心にまとめます


SHODAN:
モノのインターネット(IoT)デバイスを探す検索エンジン。企業のネットワーク管理者はこれらを利用して外部から脆弱性がないかどうか確認を出来る。

CENSYS:
SHODANと同じく、モノのインターネット(IoT)デバイスを探す検索エンジン。

耐タンパー性:
物理的にデバイスを盗まれたときに、内部のデータを解析困難にしていること。

セキュアブート:
デバイス電源投入時にデバイス内のソフトウェアが正規品であるかどうか検証してからソフト実行する仕組み。

WAF:
Web Application Firewallの略。WEBアプリにおいてHTTP通信等を解析して攻撃を検知・防御する。

CSMS:
組織の産業用オートメーション及び制御システム(IACS:Industrial Automation and Control System)を対象として、その構築から運用・保守に渡ってサイバー攻撃から守るためのセキュリティ対策を実施し、システムを運用するもの。

oneM2Mセキュリティ規格:
サービス層におけるIoTプラットフォーム標準化を推進する団体。セキュリティ機能は共通サービスエンティティ(CSE)の1つとして提供される。

IoTシステム技術検定 試験対策③

IoT技術テキスト -MCPC IoTシステム技術検定 対応

今回はIoTシステム技術検定の試験対策として「第3章 IoT通信方式」を中心にまとめます


高周波の電波のメリット:
・情報伝送容量が大きい
・アンテナが小さくなる

高周波の電波のデメリット:
・伝搬損失が大きい(周波数と距離2乗に比例)
・障害物を回り込みにくい
・ガラスなどの透過損失が大きい
・伝送距離が比較的短い

ISMバンド:
産業で容易に利用してもいい周波数帯。日本では2.4GHz(無線LAN、Bluetooth)や920MHzが広く利用されている。

スター型:
ゲートウェイは常に稼働している必要あり。ゲートウェイに複数センサが繋がるので、データが衝突しないように送信順番を制御する必要あり。中央集権なので信頼性の低いネットワークになる。

ツリー型:
階層構造によって多くのセンサをゲートウェイに接続可能。上位のノードにデータが集約されるため、一定のスペックが求められる。混信しないようにデータ送信純の制御や周波数帯域の使い分けが必要。

メッシュ型:
到達ルートが複数あるため信頼性の高いネットワークを構築可能。ただし通信が混線しないように周波数を使い分ける必要あり。ノードが常に受信待機のため稼働していないといけないので電力面にデメリットあり。

BLE
通信可能距離はBluetoothよりも短い。通信速度も低速。低消費電力に特化させた通信。

ZigBee:
周波数帯 2.4GHz
通信速度 250kbps
通信距離 100m
マルチホップが特徴。センサネットワーク形成に用いられる。

Wi-SUM:
周波数帯 920MHz
通信速度 1Mbps
通信距離 2km
マルチホップが特徴。屋外長距離通信に用いられる。

RFID:
無線通信機能を持ったタグ。電池内蔵で自らデータ送信するアクティブ型と、受信電波をエネルギー源として電波を返送するパッシブ型がある。

トランスファージット:
近距離無線転送技術。4.48GHzで560Mbpsという高スペック。KIOSKでの広告等コンテンツ配信に用いられる。

Z-Wave:
1GHz以下で無線LANなどと混線することなくフルメッシュネットワークを形成する。

EnOcean:
低消費電力性に注力した928.35MHzの通信技術。確認信号であるACKを使わないことで低電力化、その代わりに1回の送信でランダム間隔に3回データ送信する。

DustNetwork:
「きれない無線」を目指したメッシュネットワーク。時間をスロット分割して、割り当てられたタイムスロットで送信させることにより衝突が発生しない。

LAPI(low access priority indicator ):
携帯電話などと比較して、IoT機器はネットワーク接続の優先順位を下げる仕組み。

報知情報:
ネットワーク混雑時にIoTデバイスにアクセス不可な旨を報知情報として届ける仕組み。これによりIoTデバイスは接続要求すら出さないので回線制御信号までも控えることが出来る。

IoT最適な標準化:
無駄なスペックをひたすら省こうとする試み。NB-IoTと言われるように最小限の帯域しか割り当てず、最低限の通信速度しか持たせない。

IoTとプロトコル(HTTP):
暗号化やプロキシといったセキュリティ面で強いが、ヘッダ情報が大きいため無駄なデータ伝送が多くなる。

IoTとプロトコル(CoAP):
そんなHTTPの欠点を改良したものがCoAP。軽量版HTTPと思っておけばだいたいOK。

IoTとプロトコル(MQTT):
パブリッシャーとサブスクライバーという構成が特徴。トピックの一致をもってデータ送受信がなされる。HTTPなどよ比較してヘッダサイズが1/10以下。

IoTとプロトコル(WebSocket):
ベースはHTTPと似ているが、1度確立したセッションをそのまま維持し続ける点が特徴。TLSに対応しているためセキュリティにメリットがある。さらにリアルタイム性も強い。

プロトコルバインディング:
アプリ層やトランスポート層などでプロトコルが異なる場合に、その差を吸収する仕組み。