FIT2018（第 17 回情報科学技術フォーラム）CF-008
深層学習モデルにおける特徴選択層の実装
Feature Selection Layer for Deep Neural Network
若松 浩平 †
Kohei Wakamatsu須鎗 弘樹 ‡
Hiroki Suyari

森 康久仁 ‡Yasukuni Mori

1. はじめに
近年, 画像の分類や超解像, ボードゲームのプレイなど多岐にわたる分野で成果を出しているディープラー
ニングという機械学習の一手法が存在する. ディープ
ラーニングは他の機械学習の手法と異なり, モデルに対し人間が推論のために規則を与えたり, 特徴量を抽出する必要がない. 生のデータから推論に必要な特徴を抽出し, 非常に高い精度で推論を行うことができる.
しかし, 抽出された特徴は多層のネットワークの重みに潜在しており, 推論の判断根拠は何かといった情報を人間が理解できる形で得ることは困難である. また,ディープラーニングは特徴の抽出は行うが, 推論に有効な特徴を選ぶ (特徴選択) 操作は行っていない.
特徴選択は機械学習の前処理としてしばしば用いられる. 学習に有用な特徴量のみを利用することでモデルの性能や学習速度を向上させる場合があり, 様々な研究が行われている [1]. この特徴選択は場合によっては特徴量について新たな情報を得るために利用できることがある. 例えば, あるモデルに入力する特徴量の数を減らしても精度が得られる場合, 使用されない特徴量はモデルの出力に貢献していない, つまり出力の理由を説明する力を持たないことがわかる. 一方で選択された
特徴量は出力を説明する何らかの情報を有しているといえる.
ディープラーニングに特徴選択の機能を持たせることで, 出力に貢献する特徴量を知ることができる. どんな特徴量を利用したのか, 何を学習したのかを解明することによって, モデルの改善のヒントや, データに対するより深い知見が得られる可能性がある.
これまでディープラーニングの判断根拠を可視化, または理解しようとする試みは多数行われてきた. 一例
としてネットワークの出力を最大化する入力の作成の研究 [2] や, 入力のどの部位にネットワークが反応し出力したかを可視化する研究 [3] などが行われているものの, 特徴量単位に焦点を絞った前例はない. そこで本研
究では, 特徴量を選択する機能を持つ層を実装する. これにより, ディープラーニングで利用される特徴量を可視化し, その判断根拠の一端を理解することを目的とする.

2. 特徴選択層 (Feature Selection Layer)
本節では深層学習モデルにおいて特徴選択機能を有する特徴選択層について述べる. 特徴選択層は入力に対し 1 対 1 の関係で重みを乗算した値を出力する層である. 図 1 に特徴選択層のネットワークの構造を, 式† 千葉大学大学院 融合理工学府 Graduate School of Science andEngineering, Chiba University‡ 千葉大学大学院 工学研究院 Graduate School of Engineering,Chiba University

図 1: 特徴選択層のネットワーク構造(1) に計算方法を示す.
y = f (W ⊗ x)(1)

ここで, x は入力, W は重み, y は出力をそれぞれ表し,⊗ は対応する位置の要素同士に関して乗算を行うことを表す. また, f (·) は活性化関数を表す. また, ここでの重みは学習の際に誤差逆伝播によって更新される.
重みに応じて後段のネットワークへの入力は変化することから, 特徴選択層は特徴量を擬似的に選択する機能を持つといえる. また, 重みは誤差逆伝播によって逐次更新される. 学習後, 重みの絶対値の大きい特徴量は後段のネットワークで出力を得るために有効な働きをしていると考えられる. 一方で絶対値の小さい重みとなった特徴量は出力に対しあまり貢献していないと考えられる. この結果からディープラーニングで用いられる特徴量を知ることができる.

3. 実験
提案した特徴選択層の機能を検証するため, 結果が既知である人工的なデータセットでの実験を行った. その後, 実際のデータに対する特徴選択層の有効性とその他の特徴選択機能を持つモデルとの違いを検証するため, その他のデータセットについて, 特徴に重み付けを行うことができる他のモデルと実験を行い, 精度と学習後の各特徴量に対する重みまたは重要度を比較する.
これらの実験では結果を理解しやすくするために特徴選択層の活性化関数は用いずに線形で出力した.

3.1. 既知のデータセットによる機能検証
目的変数 y を (2) 式のように決定した回帰問題を利用して特徴選択層の機能を検証した. データセット
として説明変数に値域が [0,1] である 10 次元のデータ
x = (x0 , x1 , . . . , x9 )T をランダムに 1000 個生成した.

59
第 2 分冊Copyright © 2018 by
The Institute of Electronics, Information and Communication Engineers andInformation Processing Society of Japan All rights reserved.

FIT2018（第 17 回情報科学技術フォーラム）(2) 式の通り, 目的変数に対して説明変数 x0 , x1 が非線形な関係を, x2 , x3 , x4 が線形な関係をもつ. 一方でx5 , x6 , . . . , x9 は目的変数の決定に寄与していないノイズである.
y = 5(x0 − 0.5)2 − 4(x1 − 0.5)2 + 3x2 + 2x3 + x4 (2)これらのデータのうち 700 件を学習用データ, 300 件を評価用データとし, 学習用データに対し後述する 4 種のDNN モデルで学習させ, 評価用データに対する平均二乗誤差についての比較を行なった. 特徴選択層が挿入されたものについては学習後の重みを確認した.

3.1.1. 実験条件
基本の構成は同じで, 全結合層の活性化関数の有無,特徴選択層の有無が異なる計 4 種ネットワークを作成した. 表 1, 図 2 にこれらのネットワークの構成を示す.
図 2 内の網かけされた部分の層の有無が表 1 に対応している. これらのネットワークを表 2 に示す条件で学習させた.
表 1 に示すネットワークは全結合層の有無によってモデルの表現力が, 特徴選択層の有無によって特徴選択機能を有するかどうかが異なる. これら計 4 種類のネットワークの学習結果の比較を行うことで, 特徴選択層の有無による精度の変化, 特徴選択層の有効性, モデルの表現力の変化による特徴選択層の重みの変化について検証する.
表 1: 実験で利用するネットワーク
モデル名network1
FS network1
network2
FS network2

全結合層の活性化関数
有有無無特徴選択層無有無有

表 2: 学習の諸条件

epoch 数
バッチサイズ
学習アルゴリズム
損失関数

3000
100
Adam
交差エントロピー関数

また, 図 3 に FS network1, FS network2 それぞれの学習後の特徴選択層の重みのヒートマップを示す. 図 3
では, FS network1 の重みが (2) 式の係数の大きさと対応していることが確認できる. 一方で FS network2 では非線形の項に対する重みが小さな値を取っていることが確認できる. これらのネットワークは活性化関数の有無によってモデルの表現力に差があり, ある特徴量が目的変数に対して非線形な関係を持つ場合, それを表現できるか否かが異なる. FS network1 はネットワー
クの中で目的変数に対して非線形な関係を持つ特徴量を捉えることができ, その結果非線形項に対する重みが大きくなった. 一方 FS network2 では非線形な関係をネットワーク内で捕らえられていないために非線形項に対する重みが小さくなったことがわかる. 以上の結果から特徴選択層によって特徴量に付加される重みは,実際の目的変数に対する特徴量の関係を表現するのではなく, ネットワークの中で目的の変数を表現するために利用されるかどうかを表現していると考えられる.
表 3: 各モデルの評価用データに対する平均二乗誤差

modelnetwork1
FS network1
network2
FS network2

MSE
0.010250.018140.23430.2386

3.2.wine データセットによる特徴選択層の機能検証
次に, UCI Machine Learning Repository で提供されているデータセットである wine データセットを利用して特徴選択層の機能を検証した. wine データセット
は 13 の特徴量を持つデータが 3 つのカテゴリに分類されており, 計 178 のレコードを持つ. その中から学習用データとして 7 割のデータを, 評価用のデータとして 3割のデータをランダムに選択した. 学習用のデータについて特徴選択層を含む DNN と, 同様に出力に対する特徴量の寄与の程度を重みや重要度として表現するその他の機械学習手法で学習し, 評価用データで精度を算出した. また, それぞれのモデルの学習後の重み, または特徴の重要度を比較した.

3.2.1. 学習条件

3.1.2. 実験結果・考察
表 3 に評価用データセットに対する平均二乗誤差(MSE) を示す. 表 3 より, ネットワークの構造によらず, 特徴選択層が挿入されている場合の方が損失が小さいことがわかる. 特徴選択層は各特徴量に対して重みを持つため, 調整できるパラメータが増え結果としてモデルの表現力が向上したと考えられる.

出力に対する特徴量の寄与の程度を重みや重要度として表現する学習モデルとして以下のモデルを使用した.
また, DNN を除くモデルは scikit-learn および xgboostを利用して実験を行った.
・特徴選択層を含む DNN・Ridge・Lasso
・ロジスティック回帰 (L1 正則化)
・ロジスティック回帰 (L2 正則化)
・サポートベクタマシン (線形カーネル)・ランダムフォレスト

60
第 2 分冊Copyright © 2018 byThe Institute of Electronics, Information and Communication Engineers andInformation Processing Society of Japan All rights reserved.

FIT2018（第 17 回情報科学技術フォーラム）Softm ax

Full conected(3)Dropout(0.50)

ReLU

Full connected(512)

Dropout(0.50)

ReLU

Full
Full conected(512)connected(512)Feature Selection

Used by FS network1 and FS network2
Used by network1 and FS network1

図 2: ネットワーク構造(a) FS network1(b) FS network2

図 3: 学習後の各モデルの特徴選択層の重み・勾配ブースティング木
図 4 に特徴選択層を含む DNN の構造を示す. また,
表 4 に学習の各種条件を示す. 本実験で用いた DNN は前節の実験で利用したネットワークに比べ全結合層数が増加している. また, Ridge および Lasso については正則化パラメータ (alpha) を 0.01 とした. また, ラン
ダムフォレストおよび勾配ブースティング木については弱学習器の数を 1000 とした. その他, 特に言及していないものについては scikit-learn および xgboost のデフォルトの値を利用した.
表 4: 学習の諸条件

epoch 数
バッチサイズ
学習アルゴリズム損失関数

300032Adam
交差エントロピー関数

みまたは重要度が相対的に大きい値を取り, その他は小さな値をとっていることが確認できる. 一方で特徴選択層込みの DNN では Flavanoids と Proline に対する重みがが相対的に大きな値を取っていることは他の手法と同じだが, 他の手法に比べ全体的に重みが大きく,相対的に大きな差のある特徴量が少ないことが確認できる. また, ロジスティック回帰 (L2 正則化), ridge を除く他の手法でも重みもしくは重要度の小さい Totalphenols, Nonflavanoid phenols については特徴選択層も同様に重みが小さくなった. この結果から他の手法で利用される特徴量と似た傾向を持つことがわかる.
また, 特徴選択層込みの DNN と同程度の精度を出している他のモデルと重みについて比較すると, 特徴選択層込みの DNN は多くの特徴量をネットワークの推論のために利用していることがわかる. この結果から,DNN では高い精度を出すために他の手法で利用されていない特徴量を用いている可能性, または, 特徴選択層
では必要最小限の特徴に対して重みをつけていない可能性が推測される.

3.2.2. 実験結果・考察

4. まとめ

表 5 に各モデルの学習後の評価用データに対する精度を示す. 表 5 から精度では ridge, lasso がおよそ 0.1減少する結果となったが, それ以外の各手法では大きな差はないことが確認できる.
また, 図 5 に学習後のそれぞれの特徴量に対する重みや重要度を示すヒートマップを示す. また, 表 6 に図5 中の各横軸の番号と wine データセットの属性の対応を示す.
図 5 について確認すると, 特徴選択層込みの DNN を除く手法では Flavanoids もしくは Proline に対する重本研究では DNN において学習可能な特徴選択層の実装を行なった. 自作のデータセットによる実験では特徴選択層がネットワークで利用される特徴量に対して重み付けを正しく行えることが確認できた. wine デー
タセットによる実験で特徴選択層は他の手法に比べ多くの特徴量を利用するよう重みづけをしていることが確認された. この結果より DNN が他の手法で利用されていない特徴量を利用している可能性, または特徴選択層が必要最低限の重み付けをしていない可能性が示唆された. よって, 今後活性化関数の導入やモデルの損61
第 2 分冊Copyright © 2018 by
The Institute of Electronics, Information and Communication Engineers andInformation Processing Society of Japan All rights reserved.

FIT2018（第 17 回情報科学技術フォーラム）Softm ax

Full conected(3)Dropout(0.50)

ReLU

Full connected(512)

Dropout(0.50)

ReLU

Full connected(512)

Dropout(0.50)

ReLU

Full
Full conected(512)connected(512)Feature Selection

図 4: ネットワーク構造

DNN

Ridge

high
Sapport Vector Machine

Lasso

Random Forest Classifier

Logistic Regression(L1 norm)

Gradient Boosting

Logistic Regression(L2 norm)

0 1 2 3 4 5 6 7 8 9 10 11 12

0 1 2 3 4 5 6 7 8 9 10 11 12low
図 5: 学習後の各モデルの重みもしくは重要度
表 5: 各モデルの評価用データに対する精度

model
DNN with Feature Selection
Ridge
Lasso
ロジスティック回帰 (L1 正則化)
ロジスティック回帰 (L2 正則化)
ランダムフォレスト
勾配ブースティング木
サポートベクタマシン

表 6: 数字と属性名の対応表
数字
0
123
4
5
6
789101112

accuracy
1.00000.88980.86831.00000.98151.00000.98150.9815失関数の変更などで目的変数に対して関係のある特徴量をより正確に選択する機能を実装する必要がある.

属性名
Alcohol
Malic acid
Ash
Alcalinity of ash
Magnesium
Total phenols
Flavanoids
Nonflavanoid phenols
Proanthocyanins
Color intensity
Hue
OD280/OD315 of diluted wines
Proline

参考文献[1] Sklansky, J. : Comparison of Algorithms that
Select Features for Pattern Classifiers, PatternRecognition, Vol.33, No.1, pp.25-41 (2000)[3][2] Aravindh Mahendran, Andrea Vedaldi : Understanding Deep Image Representations by Inverting Them, arXiv:1412.0035v1 [cs.CV] 26 Nov
2014

62
第 2 分冊Daniel Smilkov, Nikhil Thorat, et al. : SmoothGrad: removing noise by adding noise, Science358, arXiv:1706.03825v1 [cs.LG] 12 Jun 2017

Copyright © 2018 byThe Institute of Electronics, Information and Communication Engineers andInformation Processing Society of Japan All rights reserved.