DEIM Forum 2019 A3-4

情報理論を用いた深層学習におけるネットワーク構造の自動最適化手法の提案
滑川 静海†

手塚 太郎‡†筑波大学情報学群 〒305-8550 茨城県つくば市春日 1-2‡筑波大学図書館情報メディア系 〒305-0821 茨城県つくば市春日 1-2
E-mail: †s1511536@u.tsukuba.ac.jp, ‡tezuka@slis.tsukuba.ac.jp
あらまし

近年、深層学習が様々な分野に用いられている。しかしこれらのモデルは専門家によって長い時間をかけて設計され作られている。そのような背景があり、深層学習モデルを自動的に生成する Neural Architecture Search（以降 NAS）という研究がなされている。本研究は NAS 分野の一つの手法である、Neural Architecture Search with hill climbing（以降 NASH）の改良をするものである。また、本研究の目的は深層学習に関して知識や経験が薄い人でも深層学習モデルを生成し、深層学習を行う
ことができるようにすることである。研究方法については、NASH の手法をベースに情報理論を取り入れ、より良いモデルを探索するものである。この手法を用いた結果 NASH の性能を上回ることはなかったが、より無駄のないネットワークを作成する
ことに成功した。この結果をもとに、さらに NAS の発展をしていきたいと考えている。

キーワード

深層学習, 情報理論, Neural Architecture Search, CNN

1. はじめに
1.1 研 究 背 景

調整に知識や経験が要求される。このような背景があ

近年、機械学習の一種である深層学習が様々な分野

り、深層学習について知識や経験が浅い技術者でも簡に用いられている。深層学習とは図 1 のようなニュー

単に深層学習が利用できるようにするため、ネットワ

ラルネットワークを多層化し、入力層、中間層、出力ーク構造自動探索の研究が行われている。

層の 3 種類の層で構成されるモデルを指し、入力デー
タに含まれる潜在的な特徴を捉え、より正確で効率的な判断を実現する技術である。

1.2 研 究 目 的 と 研 究 意 義
この研究の目的は先にも述べたように、深層学習初学者やツールとして深層学習を使いたいだけといった人たちが簡単に深層学習を行うことができるようにするための研究である。また、この研究が達成されることによって深層学習を誰でも簡単に扱うことができる
ようになり、深層学習分野だけでなく深層学習を用い

図 1 ニューラルネットワークのイメージ図

る全ての分野に対して大きな貢献が得られると考えてこれは正解ラベルのついたデータを複数用意している。

それを入力とし、予測の出力が正解ラベルと一致する
ようにノード間の結合の強さを自動調整（学習）して1.3 本 論 文 の 構 成

い く も の で あ る 。こ の 深 層 学 習 モ デ ル の 例 を 挙 げ る と 、

本 論 文 で は 、研 究 概 要 、関 連 研 究 、提 案 手 法 、結 果 ・

VGG や GoogleNet、 AlexNet な ど 様 々 な も の が 考 案 さ

考察の順に本研究の目的の実現のための過程を説明すれている。これらの深層学習モデルは専門家の手による 。 研 究 概 要 で は 、 本 研 究 で 扱 う 分 野 で あ る Neuralって長い時間をかけて設計され作られていて、どれもArchitecture Search と い う 分 野 や 手 法 の 概 略 を 説 明 し高いパフォーマンスを示す。しかしこれを深層学習初て い る 。ま た 、関 連 研 究 で は 本 研 究 と 関 連 す る 研 究 や 、学者のような専門知識のない人が設計するのは困難で

本研究のベースとなる先行研究の説明をしている。提ある。このように、深層学習を扱うには専門的な知識案手法では本研究のベースとなる手法と比較して新たや経験が多く必要とされている。ネットワーク構造がに改良を加えた点の説明をしている。結果・考察では少し異なるだけでもモデルの性能が大きく変わってく本研究で行なった実験の結果を示し、それの改善案をるため、データの特性に合わせたネットワーク構造の含む様々な考察を行なっている。

ラーと子ネットワークに分けて考え、コントローラー
で子ネットワークの構造を探索し、データの特性に合2. 研 究 概 要
私 が 行 う 研 究 は AutoML と 呼 ば れ る 理 論 の 中 のった最適な構造のネットワークを生成するというもの

Neural Architecture Search（ 以 下 NAS）と 呼 ば れ る 分 野である。具体的な学習の流れとしては、コントローラ

である。通常ニューラルネットワークは人間がネット

ーが設定したパラメータで子ネットワークが学習し、ワーク構造を設計し、そこに使われるパラメータの最検証データをもとに精度を算出する。その精度を報酬

適化を行なった上で初めて学習をすることができるよとして方策勾配法をもとにコントローラーを更新する。

う に な る 。し か し NAS は こ の ネ ッ ト ワ ー ク 構 造 の 設 計

この一連の流れを繰り返していくことでより良いネッからパラメータの最適化、学習までの全ての範囲を自トワーク構造を探索していくものである。ここで探索

動 で 行 う も の を 指 す 。本 研 究 で は NAS の 中 で も ネ ッ トすることのできる子ネットワークのモデルはワーク構造の最適化部分に焦点を当てたものである。

Convolutional Neural Network（ 以 降 CNN）と Recurrent

本研究では進化的アルゴリズムを採用しているため、Neural Network（ 以 降 RNN） の 二 つ で あ る 。 こ の 論 文

パラメータの最適化においては構造を設計する段階では NAS 分 野 の 最 初 の 論 文 で あ る に も 関 わ ら ず 高 い パ

ランダムにパラメータが設定され、最適でないパラメ

フォーマンスを示す一方、膨大な計算量が大きな課題ータを持つ層は進化的アルゴリズムの性質によって淘と し て あ げ ら れ て い る 。 論 文 で は CIFAR-10 と い う 画

汰されていくものである。

像 分 類 デ ー タ セ ッ ト を も と に CNN の 探 索 を 行 な っ てNAS に お け る ネ ッ ト ワ ー ク 構 造 探 索 手 法 は い く つ

い た が 、 12800 ア ー キ テ ク チ ャ を 学 習 す る の に 800 台

かあるが、強化学習を用いてネットワーク構造の探索の GPU で 並 列 に 学 習 を し て も 探 索 完 了 ま で に 28 日 かを行う手法やネットワーク構造を微分可能な形で表現

か っ た と さ れ て い る 。し か し こ の 論 文 は NAS 分 野 の パし、効率的に探索を行う手法、進化的アルゴリズムをイオニアとしてとても高い成果をあげており、これ以取り入れて探索を行う手法など様々な手法が考案され降この論文を元に様々な改良が施されている。

ている。私はこの中でも進化的アルゴリズムを取り入

そ の 中 で も Efficient Neural Architecture Search（ 以 降れ て 探 索 を 行 う 手 法（ Neural Architecture Search by Hill

ENAS） と い う 技 術 が 提 唱 さ れ 、 転 移 学 習 を 用 い る こ

Climbing） を ベ ー ス に 研 究 を 行 な っ た 。 こ の 手 法 は 、と で 計 算 量 を 大 き く 減 ら し 、 GPU1 台 を 用 い た 半 日 程

小さいモデルをベースとして進化的アルゴリズムを取度 の 学 習 時 間 で 元 の NAS と 同 等 の 結 果 を 得 る こ と がり入れ、ネットワーク構造の探索を行うものである。

できるようになった。

本研究ではこの変形方法を改良することで手法の改善

されていないため、ベース研究のプログラムは私自身

3.2 Neural Architecture Search by Hill
climbing
3.2.1 概 要で 実 装 し た 。言 語 は python で ラ イ ブ ラ リ は バ ッ ク エ ン

二 つ 目 は 、Neural Architecture Search by Hill climbingを目指すものである。
また、先行研究のプログラムのソースコードが公開（ 以 降 NASH） と い う 手 法 で あ る 。 こ の 手 法 は ENAS

ド を TensorFlow に し た Keras を 用 い て 実 装 し た 。

と は 異 な り 、 強 化 学 習 を 用 い ず に NAS を 行 う 手 法 で 、進化的アルゴリズムを用いた構造探索を行うものであ3. 関 連 研 究る。

こ の 章 で は NAS 分 野 の 関 連 研 究 を い く つ か 紹 介 す3.2.2 NASH の 手 法 説 明る。今回は二つの手法について説明する

手法の具体的な説明をしていくと、まず一つのミニ

3.1 Neural Architecture Search withReinforcement Learning

マムなネットワーク構造を持つモデルを用意する。そ一 つ 目 は Neural Architecture Search with

してそのモデルに対していくつかのランダムな変形をReinforcement Learning と い う 手 法 で 、強 化 学 習 を 用 い加えたモデルを複数個用意する。それらのモデルの中て NAS を 行 う 手 法 で あ る 。

で最も性能の良かったものを次世代のベースモデルと

強化学習とは今ある状態から得られる報酬が最大し、そこから新たに変形を加えたモデルを複数個用意になるような行動を学習していくという手法である。

する。これらを再帰的に繰り返していくことでより良また、この論文では強化学習の手法の中でも方策勾配い構造のモデルを探索していくというものである。

法という物を用いている。方策勾配法とは、現在の状態からどのような行動を取るのが最適であるかを方策の勾配を使って学習する手法である。
こ の 論 文 で 行 な っ て い る NAS の 手 法 は コ ン ト ロ ー2

図 2 NASH の 学 習 の 進 み 方
図 2 を見るとわかりやすいが世代を経るごとにモデ

図 4 スキップコネクション

ルがより良いものに収束していく。この論文では前のこれらの二つの変形を通してベースのモデルから世代より性能の悪いものが伝わっていかないために、次世代のモデルを作成する。この際、学習を早く進め

現在の世代の最良モデルが前世代の最良モデルに劣るるためと考えられるが、一世代に複数回の変形を施し場合は、前世代の最良モデルを引き継ぐようにしていたモデルを作成する。

る。こうすることで学習が後退することを防ぐことを

3.2.3 NASH の 優 位 性可能にしている。
NASH に お け る 変 形 は 大 き く 分 け て 二 つ あ り 、 層 のこ の 手 法 の 優 れ て い る 点 は 、 ENAS と 同 様 計 算 量 を追加とスキップコネクションの追加である。追加する

抑 え 、一 つ の GPU で 1 日 の 学 習 で 同 等 の 結 果 を 残 し て層の種類は畳み込み層や全結合層、プーリング層やアい る 点 で あ る 。 ま た 、 ENAS と は 全 く 異 な る ア プ ロ ー

クティベーション層、バッチノーマライゼーション層

チ で NAS を 実 現 し て い て 、 NAS 分 野 に お い て 新 た なである。各層の役割に関してはここでは省略する。こ道を示した点も優れていると言える。

れらの種類の層をベースのモデルに対して以下の図 3

3.2.4 NASH の 課 題 点で示している様に追加する。

NASH は 手 法 と し て 優 れ た 点 を 多 く 持 っ て い る が 、同時に課題点もいくつか抱えていると私は考えている。
大きく分けて 3 つあると考えていて、それらについて説明をする。
一つ目は一世代で複数回の変形を行うため、冗長で意味のない層が追加されてしまう可能性があるという点である。これは人間の目にはわからないがほとんど同じ役割を持つ層がいくつか混ざり込んでしまったり、

図 3 ニューラルネットワークへの層の追加

恒等変換に近いような変換を行う層が混ざり込んでし追加場所に関しては全てランダムに決定され、人為まったりすることが考えられる。すなわち、モデルの的なものが挟まらない様に探索を行う様になっている。

ネットワーク構造が冗長で無駄が多いものになってし次にスキップコネクションの追加について説明する。

まう可能性があるということである。一世代で一つのスキップコネクションとは、二つの層と層をつなぎ変変形にすれば解決するのではないかという意見もある

換をせずに情報を渡すもので、間をスキップしたモデが、一世代に一つの変形のみだと収束までの試行回数

ルとしなかったモデルの二つの複雑度のモデルを試すが増え、学習にかなりの時間を要するため、複数回のことができるという手法である。また、図 4 で示した

変形を行なっている。

様にスキップコネクションはランダムに選ばれた層と二つ目は、層を追加していく一方であるため、変形層を繋ぎ、変形を行うものである。

を行うたびに層が深くなっていってしまうことである。
よって、最終的に出来上がったモデルのネットワーク
構造が複雑で莫大な数の層を持ってしまうという状況になる可能性がある。複雑で莫大な数の層を持ってしまっていると、そのモデルを学習するときや利用する
ときに時間が多くかかってしまうという懸念点もある。
三つ目も同様に、一世代に複数回変形する都合上、良い変形の中に悪い変形が混じっていてもその世代では最良モデルに選ばれてしまったり、現時点では問題

3

なくとも、後々悪影響が出てしまうような変形がなさて、モデルの性能は匹敵するが複雑なものが出来上がれてしまったりする可能性がある点である。このようる可能性が高く、その点において人手で作られたもの

な場合、うまく悪影響を回避するようにスキップコネに劣ると考えている。しかし私の提案する手法では最クションの変形がなされるまで学習が停滞し続けてし終 的 に 出 来 上 が る モ デ ル の 複 雑 さ は NASH の も の と 比まう。結果的には学習に時間がかかり、良い性能を示

べ少なくなると考えている。

すモデルに収束するまでに無駄な時間が生じてしまう。

また、私の提案手法では層の減らし方を二通り考え

また、スキップコネクションによってこれが回避できていて、ランダムに選んだ層を減らす手法と、統計的たとしても出来上がるモデルが複雑になりすぎてしまな性質を見て選んだ層を取り除く手法である。

うことにつながる。

4.2 ラ ン ダ ム に 層 を 取 り 除 く 手 法

以上のような課題点が考えられる。そして、どれも層を増やしていく一方という点に起因して起きている

一つ目のランダムに選んだ層を減らす手法は、モデ問題であると考えられる。したがって次章ではこれら

ルの中の入力層と全結合層部分を除く全ての層を対象の課題点を解決することのできる提案手法について説にランダムに選択し、その層を取り除く。これで取り明する。

除くものは畳み込み層、プーリング層、アクティベー
ション層、ドロップアウト、バッチノーマライゼーシ
ョン層である。ドロップアウトは層ではないが、取り

4. 提 案 手 法
4.1 提 案 手 法 の 概 要

除けるようにしている。また、この手法はネットワー

私 が 提 案 す る 手 法 は 、 NASH に 改 良 を 加 え た も の で

ク構造の変形の一つとして扱っており、例えば一世代ある。具体的には層を減らすという変形を加えること

で 5 回 の 変 形 を 行 う 場 合 は 、3 回 は 層 の 追 加 、残 り の 2

で あ る 。 NASH で は 層 の 追 加 が 主 な 変 形 で あ り 、 そ れ

回は層を削除といったように扱われる。また、取り除に起因して上記の課題点がある。それらを解決するたける層が存在しなくなってしまった場合は、層の削除

めには層を取り除くという処理を加えるのが適切であの変形の代わりに層の追加の変形が行われる。
ランダムに減らすことによるメリットしては、取りると考えられる。
し か し 、 NASH が 高 速 で 学 習 す る こ と が で き る こ と除く層を選ぶ際に計算を全く挟まないため、学習の進の理由の一つに、層の追加しか行わないことがあげらみに影響を及ぼすことがない点である。また、人間のれる。前の世代で学習した重みを再利用することで学考えが挟まることなく取り除く層が決定されるため、

習 時 間 に か か る 時 間 的 コ ス ト を 削 減 し て い る 。こ こ で 、人手で作られるものと比較して盲点をついたような変層を取り除く場合、層どうしのネットワーク間での入形が生まれるという可能性も考えられる。このように出力が合わなくなってしまうため重みの再利用が難し

ランダムで取り除くことは学習時間にあまり影響を与い。したがってネットワーク構造を組み、モデルを作えず、かつ人手ではあまり想像のつかないような構造

成 す る た び に 再 学 習 す る 必 要 は あ る た め 、 NASH に 比にたどり着くことができる可能性を秘めている。

べ速度は落ちるというデメリットはある。しかし、一ランダムに減らすことによるデメリットとしては、

つ の GPU で も 実 用 的 な 範 囲 の 時 間 で 終 わ る た め 、問 題

あくまでもランダムに取り除くため、前世代で貢献度はないと考えている。

の良かった層が取り除かれてしまう可能性がある点でこの層を取り除くという手法を取り入れることのある。特に序盤で層の数も少ないうちは貢献度の高い

メ リ ッ ト と し て は 、3.2.4 で 述 べ た よ う な 課 題 点 を 解 決

層を取り除いてしまうと一気に出来上がるモデルの精することができる。一つ目の出来上がるネットワーク

度が落ちてしまうということもある。このデメリットに無駄が多く含まれてしまい、冗長なモデルになってを考慮してもランダムで層を取り除くという手法はよ

しまう課題点においては、無駄な層を取り除いていく

り良い構造を探索する上で効率的に作用するのではな

ことができれば解決することができる。二つ目の最終

いかと考えている。

的に出来上がるモデルが莫大な数の層を持つものにな

4.3 統 計 的 性 質 を 見 て 取 り 除 く 層 を 決 定 す る
手法ってしまうことがある点も同様に、層を取り除く処理を加えることで適度な深さを保った層にすることができる。三つ目の悪影響の出るような変形が含まれてし二つ目の統計的性質を見て取り除く層を決定する

まう課題点に関しても、その層を取り除くことで解決

手法は、モデルの持つネットワーク構造の中で最も貢することができる。また、最終的に出来上がるモデル

献 度 の 低 い 層 を 探 し 出 し 、取 り 除 く と い う 手 法 で あ る 。

が 複 雑 に な り 過 ぎ な い と い う 点 も 挙 げ ら れ る 。 NASH

これによって取り除かれる層はランダムで取り除くもでは出来上がるモデルは人手で作られたものと比較しのと違い、層として役割を果たすもの、すなわち畳み

4

込み層、プーリング層、アクティベーション層、バッすかを説明する。まず分類の出力に関しては、

チノーマライゼーション層である。ランダムの手法と

CIFAR-10 で は 分 類 数 が 10 種 類 で あ り 、 各 画 像 が 一 つ比較してドロップアウトのみ取り除くことができないに の み 分 類 さ れ る た め 、one-hot-vector で 表 す こ と で 和ようになっている。

が 1 の確率ベクトルとして考えることができる。これ

次にどのように統計的性質から貢献度の低い層をを分類の出力の確率変数とする。次に層の出力に関し

割 り 出 す か に つ い て 説 明 す る 。今 回 私 が 用 い た 方 法 は 、ては、一般に層の出力は分類の出力とは異なり確率ベ

情報理論を用いるものである。今回は情報理論の中でクトルで表されるものではないため、層の出力を確率も相互情報量を取り扱う。相互情報量とは二つの確率ベクトルで表す必要がある。具体的には層の出力を分変数の間の従属性の度合いを測る尺度である。

類 対 象 の カ テ ゴ リ 数 、 す な わ ち CIFAR-10 で あ れ ば 10

本研究ではネットワークの中の各層の出力と最終個のクラスにクラスタリングをする。クラスタリング

的な分類の出力を確率変数として扱い、相互情報量をとは大量のデータから共通点を探し、自動的に分類を求める。L 個の層を持つネットワーク構造のモデルをしていく手法である。この際クラスタリング手法はハ

例に説明すると、第 1 層の出力と、最終的な分類の出ー ド ク ラ ス タ リ ン グ で あ る k-means 法 を 用 い た 。 入 力

力 、 第 2 層 の 出 力 と 最 終 的 な 分 類 の 出 力 、 …、 第 L 層

一つ一つに対して各層の出力を集め、それらの出力をの出力と最終的な分類の出力といったような組み合わ

分 類 数 と 同 じ ク ラ ス 数 で ク ラ ス タ リ ン グ す る 。こ の 際 、せで相互情報量を求める。すると、L 個の各層におけ全ての出力に対してクラスタリングを施してしまうとる出力との依存関係、すなわち、このモデルのネット

計算量が膨大になってしまい、学習の進みが非常に低ワーク構造における各層の貢献度を計算することがで速になってしまう。したがって、集めた層の出力の中きる。この相互情報量の数値が低ければネットワーク

か ら ラ ン ダ ム に 1000 個 を サ ン プ リ ン グ し 、そ れ を ク ラ

構造間で貢献度が低く、逆に数値が高いほど貢献度がスタリングする。そしてそれらをクラスタリングする高いと言える。しかしこのまま安直に貢献度が低い層と 1000 個 の サ ン プ ル に 対 し て そ れ ぞ れ の 属 す る ク ラを取り除いてしまうと、より入力に近い層ばかり取りス が わ か る 。 そ れ を one-hot-vector で 表 す こ と で 、 分

除 か れ て い っ て し ま う 可 能 性 が 高 い 。な ぜ か と い う と 、類の出力と同様に、確率ベクトルとして考えることがあくまでもその層の出力と最終的な分類の出力との相で き る た め 、層 の 出 力 を 確 率 変 数 で 表 す こ と が で き る 。

互情報量を測っているため、ネットワークの入力に近こ の 際 、 サ ン プ リ ン グ 数 を 1000 個 と し て い る 理 由 は 、い方の層はまだ学習初期段階であり、その層の持つ情絶 対 数 と し て 1000 個 あ れ ば う ま く い く だ ろ う と い う

報量が低いことは必然だからである。逆に分類の出力

仮 定 の も と 決 め た 数 で あ り 、分 類 数 が と て も 多 い 場 合 、に近ければ近い層ほど最終的な分類の出力との依存関

この数はより増やした方がうまくいく可能性はある。

係が強いはずである。したがって本研究では、ネット

以上のように層の出力と最終的な分類の出力を確

ワーク間の各層の持つ相互情報量どうしの差をとって率ベクトルで表し、それを確率変数とすることで層のその値を元に貢献度を決める。つまり、ネットワーク

出力と分類の出力間の相互情報量を計算する。このよ

間で相互情報量の上がり幅が小さいところに着目してう な 手 順 で 貢 献 度 の 低 い 層 を 割 り 出 し 、層 を 取 り 除 く 。

貢献度を決めるということである。
具 体 的 に は 、第 N 層（ 1 < N < L）と 第 N+1 層 の 分 類

5. 実 験
5.1 実 験 環 境の 出 力 と の 相 互 情 報 量 が 、0.3、0.35、第 Ｍ 層（ 1 < M <N）と 第 M+1 層 の 持 つ 分 類 の 出 力 と の 相 互 情 報 量 が 0.1、

まず実験環境について説明する。使用したプログラ

0.2 だ っ た 場 合 、 最 も 相 互 情 報 量 が 低 い の は 第 M 層 で

ミ ン グ 言 語 は python で 使 用 し た ラ イ ブ ラ リ は Keras で 、

あ る が 、第 M 層 か ら M+1 層 に か け て 相 互 情 報 量 が 0.1

バ ッ ク エ ン ド に TensorFlow を 用 い て い る 。 使 用 し た

上 昇 し て い る 。 し か し 第 N 層 と N+1 層 の 間 で は 0.05

GPU は 一 つ で NVIDIA Tesla K40m で あ る 。 OS はしか上昇していない。このような時に層として相互情

Ubuntu16.04。CPU は 4 つ で ど れ も Intel(R) Xeon(R) CPU

報 量 の 低 い 第 M 層 を 取 り 除 く の で は な く 、相 互 情 報 量E5-1620 v3 @ 3.50GHz で あ る 。 ま た 、 本 実 験 で はの上がり幅が少ない第 N 層を貢献度が低いとするもの

CIFAR-10 を 用 い た 画 像 分 類 タ ス ク で 実 験 を 行 な っ て

である。

いる。

このようにして貢献度の低い層を割り出す手法であるが、次に相互情報量を計算する際に具体的に何を5.2 実 験 概 要

確率変数とし、どのように貢献度を計算するについて

この節では実際の実験に関して説明をする。今回は説明する。確率変数は層の出力と最終的な分類の出力

二 通 り の 実 験 を 行 な っ て い て 、一 つ 目 は NASH の 変 形の二つを使っているが、これらをどのように確率で表にランダムに層の削除を取り入れたものであり、二つ5

目はランダムな層を削除する変形を取り入れた上で、んだ一つの層を削除するものである。ただし、ここに出来上がったモデルに対して貢献度を測り、層を取りも層ではないがドロップアウトを取り除くことも一つ

除く処理を行うものである。大まかに実験手順を説明の変形としてカウントしている。さらにベースのネッ

していくと以下のようになる。

トワーク構造より小さくはならない。また、層の追加①

第一世代のベースとなるネットワーク構造

時のハイパーパラメータはランダムに決定している。
畳 み 込 み 層 に お け る フ ィ ル タ サ イ ズ は 3×3〜 5×5 のを持つモデルを定義する②

繰 り 返 す 世 代 数 、 子 モ デ ル の 数 、 epoch 数 な

範囲でランダムに決定している。アクティベーション
層 の 活 性 化 関 数 は ReLU 関 数 を 採 用 し て い る 。 ま た 、ど、必要なパラメータの定義する③

ド ロ ッ プ ア ウ ト の 割 合 に 関 し て も 0~0.5 の 範 囲 で ラ ン

ベースとなるモデルに変形を加えたモデル

を複数個用意する④

ダムに決定している。ネットワークの変形をする際、新たに作られたモデルとベースとなったモ層の追加または層の削除の二択をランダムに決定し、層の追加が選択された場合は 4 種類の変形からランダデルを学習する⑤

その中で最も性能の良かったものを次世代ムに選ばれランダムな位置に追加され、層の削除が選のベースとする⑥③〜⑤を繰り返す⑦

択された場合はランダムに選ばれた層が削除される。
次に④に関しては、これも②で定義されたパラメー

最終的に出来上がったモデルを学習する

タに準拠して、新しく作られたモデルとベースになっ以上のような実装がなされている。以降で、本実験たモデルを学習する。この際オプティマイザーはで用いたパラメータや各ステップでの詳しい説明を①

Adam、損 失 関 数 は ク ロ ス エ ン ト ロ ピ ー を 使 用 し て い る 。

から順にしていく。

一つ目のランダムに層を取り除くだけの手法はこれだ

まず、①では第一世代のベースとなるミニマムなネけである。二つ目の層の貢献度を元に無駄な層を取りットワーク構造を持つモデルを作成する。今回の実験除く手法に関しては、ここの学習で貢献度の計算を行で は CIFAR-10 の 画 像 分 類 タ ス ク で あ る た め 、 CNN をう 。 具 体 的 に は 学 習 の 最 後 の epoch で 各 層 の 出 力 を 集用いてモデルを作成している。具体的には、最低限のめ、貢献度を計算する。そして貢献度を元に層を取り構造をしていれば良いため、入力層、畳み込み層、ア除いたモデルをもう一度学習し、取り除く前のモデル

クティベーション層、全結合層、出力層というネットと取り除いたあとのモデルを比較し、性能の良いもの

ワーク構造を最低限の構造とし、ベースのモデルとしを子モデルとして採用する。

て定義している。

⑤では④で学習されたモデルを実際にテストデー

次に②の必要なパラメータについて説明する。今回

タでテストし、その結果の精度が最も高かったものを定義しているパラメータは世代数、変形する回数、一次世代のベースとする。

世代あたりの作られるモデル数、新しく作られるモデ⑥では②で定義されたパラメータを元に世代の数

ルの学習回数、最終的に出来上がるモデルの学習回数だけ繰り返しを行う。

の 5 つ で あ る 。 本 実 験 で は 世 代 数 を 5、 変 形 回 数 も 5、最後の⑦では最後の世代で最も良かったモデルを

新 し く 作 ら れ る モ デ ル の 学 習 回 数 は 20、最 終 的 に 出 来

学習し、機械学習モデルを完成させるものである。

上 が る モ デ ル の 学 習 回 数 は 50 で あ る 。な お こ れ ら の パ

実験は以上のような実装で行われた。
ま た こ れ に 加 え 、 NASH を 追 実 装 し た も の も 実 験 をラメータは使用するデータセットによって変わるもの
で あ り 、CIFAR-10 を 用 い た 本 実 験 で は こ の 程 度 で あ る行った。

が、例えばもっと規模の大きい分類を学習させたい場
合は学習回数を増やす必要はある。

6. 実 験 結 果③に関しては②で定義したパラメータに沿って変今回は 5 で示したように三つの手法で実験を行なっ形を加え、モデルをいくつか作っていく。ここでの変た。その結果を以下に示す。

形について具体的に説明すると、ここで行われる変形
追実装の種類大きく分けて 2 種類あり、層の追加と削除である。層の追加の変形は畳み込み層とアクティベーショ

精度

0.82

層数

29

ランダム
削除
0.76

貢献度を
もとに削除
0.75

ン層のセット、プーリング層、ドロップアウト、バッ
チノーマライゼーション層の追加がある。ただし、ド16

14

ロップアウトは層ではないがネットワークに組み込む

今回行なった二つの手法ではどちらも先行研究によっに当たって変形 1 回分としている。層の削除に関してて出来上がるものに勝ることはなかった。実験で用いはここで行われるのはいずれの実験でもランダムに選る パ ラ メ ー タ は 三 つ 全 て 世 代 数 が 5、 各 世 代 で 生 成 さ6

れ る ネ ッ ト ワ ー ク 数 は 5、 変 形 数 は 5 で 行 な っ た 。 ラ考えられるが、いずれのデータセットでも探索数はあン ダ ム 削 除 の み の 手 法 で は 精 度 が 0.76 で 出 来 上 が っる程度必要である。また、世代数をパラメータとしてた モ デ ル の 層 数 は 16 層 、貢 献 度 を 元 に 削 除 を 取 り 入 れ

決めず、一定世代数最良モデルが変わらなかったり一た 手 法 で は 精 度 が 0.75、出 来 上 が っ た モ デ ル の 層 数 は定基準の精度に達するまで学習を続けたりするような14 層 で あ っ た 。ま た 、貢 献 度 を も と に 削 除 さ れ た も の終了条件を決め、これを満たすまで学習を続ける手法

が 採 用 さ れ た 回 数 は 25 回 中 14 回 で あ っ た 。

にすることも検討している。
四 つ 目 は 、 NASH は ア ン サ ン ブ ル 学 習 を 採 用 し て い
る 点 で あ る 。 NASH は 4 つ の モ デ ル を 作 成 し 、 ア ン サ

7. 考 察実 際 に 二 つ の 手 法 と 既 存 手 法 で あ る NASH を 比 較 しン ブ ル 学 習 で 0.95 の 精 度 を 達 成 し て い る 。し か し 本 研て考察して行く。どちらの手法も既存手法である

究ではアンサンブル学習は採用していない。したがっNASH の パ フ ォ ー マ ン ス を 上 回 る こ と は な か っ た 。 こて ア ン サ ン ブ ル 学 習 を 取 り 入 れ る こ と で NASH に 近 いれに関しては、原因がいくつか考えられる。

パフォーマンスを発揮することができると考えられる。

一つ目は元の論文を完全再現できていない可能性

以 上 の よ う な こ と が 原 因 で NASH の パ フ ォ ー マ ン スがあることである。元の論文は実装の詳細が省かれてに追いついていないのではないかと考えられる。それいる部分が所々あり、そこが完全に再現できていないら を 改 善 す る こ と で NASH の パ フ ォ ー マ ン ス を 満 た しため、パフォーマンスが追いついていないのではない

つつより良い構造を探索することができると考えられかと考えられる。具体的には変形が行われる時、どのる。

くらいの確率でどのような変形が行われるかが明記さまた、どちらの手法も精度はほとんど変わらず、かれていないため、本研究では全て等確率で実装していつ貢献度を見て層を取り除く手法は層の数がランダムる。よってここの最適化された確率や、他の実装の細削除のみの手法と比較して少なかったため、この手法部を探って行くことでパフォーマンスが向上することは 有 効 で あ る こ と が わ か る 。さ ら に NASH と 比 較 し てが考えられる。

どちらも精度としては劣るが少ない層数で一定の精度に達していることからこの点において優れていると考

二つ目は探索効率が悪い可能性があることである。

えられる。

現在は全ての変形が等確率で行われるが、人手で作られたものを教師データとして層の出現割合など決める

8. 終 わ り に
8.1 今 後 の 展 望

ことで、層の追加の割合を適度なものにすることができ、探索効率が上がるのではないかと考えられる。また、探索効率を上げる手段として、世代ごとの変形数

今回の実験では以上で示すような結果が得られを減衰させていくことが挙げられる。具体的には一世たが、その中で以下に示すような様々な改良点や手法

代で変形する回数が多いため、無駄な層を取り除くこが適用できる可能性が見えてきた。

とはできても良い層まで取り除かれてしまったり、一

一つ目は 7 章の考察でも述べたように、世代ごとのつだけ層が追加されば良くなるが余計なものが混じっ

変形数に減衰を取り入れることである。これを取り入てしまったりすることがあると考えられる。つまり変れることで学習序盤の進みの速さを保証しつつ、学習形数が多いことで学習序盤では効率よく進むが、学習終盤の収束しやすさを上げることができると考えられ

終盤では変形数が多いことがネットワーク構造の収束る。

を妨げているのではないかと考えられる。この変形数

二つ目も 7 章の考察で述べたように、一定以上の精の減衰を取り入れることで学習序盤の進みの良さを維度を達成した場合やネットワーク構造が数世代に渡っ持しつつ学習終盤の収束の速さを実現することができて変わらない場合などの学習終了条件を設け、学習をると考えられる。

収束するまで続けるようにすることである。これを取三つ目は実験に用いるパラメータが最適でないとり入れることで時間はかかるようになるが、より良いいうことがあげられる。今回の実験はどちらも世代数構造を見つけるまで学習が続き、今よりパフォーマンが 5、各 世 代 で 生 成 さ れ る ネ ッ ト ワ ー ク 数 が 5、変 形 数

スの高いモデルが出来上がると考えられる。

が 5 で実験を行なっているが、ネットワーク構造を探

三つ目は層の削除だけでなく、モデル圧縮という技

索するものとしては数が少なすぎた可能性が考えられ術を取り入れることである。モデル圧縮とは複数の層る。二つ目で挙げたように学習序盤は変形数を高く持を一つの層で近似するというものである。これを取りち、後半は変形数を減衰させるのに加え、こなす世代

入れることで、そのときのネットワークの性能を維持

数や生成されるネットワーク数をより多くする必要がしたまま層を減らし、より無駄のないネットワーク構あると考えられる。当然用いるデータセットによると造を作ることができる。

7

Convolutional Neural Networks”. 2017.

四つ目は、貢献度を見て層を取り除く処理を行う際に 、 現 在 は ハ ー ド ク ラ ス タ リ ン グ で あ る k-means 法 を[2] Bowen Baker, Otkrist Gupta, Nikhil Naik, Ramesh

用いているが、ここでソフトクラスタリングの手法を

Raskar. “Designing Neural Network Architectures using

用いることである。こうすることで、より情報量のロ

Reinforcement Learning”. 2016.
[3] ICLR2018 conference reviewer ．“ Simple andスが少なくなるため、より貢献度を正確に知ることがefficient architecture search for Convolutional Neural

できるのではないかと考えられる。
五 つ 目 は NASH と の 差 異 で あ る 、「 ネ ッ ト ワ ー ク 構

Networks”． OpenReview.net，https://openreview.net/forum?id=SySaJ0xCZ,

造の変形に削除があること」を生かして新たにネット(2018/06/08).

ワーク構造を生成するのではなく、ある程度作られた[4]

ネットワーク構造を最適化して行くことに使うことでHanxiao

Liu, Karen

Simonyan, Oriol

Vinyals.

ある。本研究の特性上、ネットワーク構造の探索を行“Hierarchical Representations for Efficient Architecture

う際、学習序盤はどうしても変形の削除を活かしにく

Search”. 2018

いという性質がある。したがってあらかじめ人間の手[5] Masanori Suganuma, Shinichi Shirakawa, Tomoharu

で作られたネットワーク構造に対して本研究を用いる

Nagao. “A Genetic Programming Approach to Designing

ことでより良い構造に達することができるのではない

Convolutional Neural Network Architectures”. 2017
[6]かと考えている。

Hanxiao

Liu, Karen

Simonyan, Oriol

Vinyals.

“Neural Architecture Search: A Survey”. 2018

このように今回の実験を通して様々な改善手法を[7] Karen Simonyan, Andrew Zisserman. “Very Deep

見いだすことができた。これらを改善して行くことでよ り 良 い NAS の 手 法 に な る と 考 え て い る 。

Convolutional

Networks

forLarge-Scale

Image

Recognition”. 2015.

8.2 結 論[8] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre

本 研 究 で は 既 存 研 究 で あ る NASH の 改 良 に 取 り 組 ん

Sermanet. “Going Deeper with Convolutions”. 2014.
[9]だ。結果としてはまだまだであるが、より無駄のない

ChristianSzegedy, Sergey

Ioffe, Vincent

ネ ッ ト ワ ー ク 構 造 の 生 成 に 成 功 し た 。そ し て NAS 分 野

Vanhoucke, Alex Alemi. “Inception-v4, Inception-ResNet

においてネットワーク構造を最適化して行く中で新た

and the Impact of Residual Connections on Learning”.

な道を示すことはできた。また、この研究自体まだま2016.

だ改良できる部分が多いため、それらを改善していく[10]

ことでより良いネットワーク構造を探索して行くこと

Ioffe.

ができるのではないかと考えている。さらにネットワ

Computer Vision”. 2015.

ーク構造を変形する中で、層の削除を行えるという利[11] Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton.

点を生かし、既に出来上がっているモデルを最適化す“ImageNet classification with deep convolutional neural

ることを目的とした研究に応用することができるとも

networks”. 2012.

Christian“Rethinking

Szegedy, Vincent
theInception

Vanhoucke, Sergey
Architecturefor

考えている。このようにこの研究手法、実験結果から[12] Barret Zoph, Quoc V. Le. “Neural Architecture

NAS 分 野 に お い て 新 た な 道 筋 を 見 い だ す こ と が で きSearch with Reinforcement Learning”. 2016.
[1] [13] Yu Cheng, Duo Wang, Pan Zhou, Tao Zhang. “A
Survey of Model Compression and Acceleration for
Deep Neural Networks”. 2017.

た 。こ れ ら の 結 果 を も と に さ ら に NAS の 発 展 を し て きたいと考えている。

謝辞
最後に、良い指導していただいた指導教員の手塚先生、共同研究室の若林先生に深く感謝の意を表する。
ま た 、共 同 研 究 室 の 同 期 の 先 輩 方 、同 期 の 方 々 に も 様 々な意見をいただけたことに感謝の意を表する。また、
本 研 究 は JSPS 科 研 費 JP16K00228,JP16H02904 の 助 成 を受けたものである。

参

考

文

献

[1] Thomas Elsken, Jan-Hendrik Metzen, Frank Hutter.
“SimpleAnd

EfficientArchitecture

Searchfor8