前回に引き続き、近年注目されているディープラーニングについて、具体的に「Keras」というフレームワークを「R」で利用しながら、解説していく。ディープラーニングは、理論的には難しい点もある。しかし、ゼロから実装するのでははく、フレームワークを利用すれば、誰でも比較的容易に実行することができるようになってきた。そのため、ディープラーニングの大衆化といわれているほどに普及しつつある。
第5回でも紹介したように、ディープラーニングを行う際にも、多くのフレームワークが提案されている。
- Tensorflow・・・Googleの開発しているフレームワーク。
- Keras・・・非常に簡単に実装できる。そのため導入としてよい。
- Chainer・・・日本のpreferred networksで開発されている。
それ以外にもMxnetなどがある。
それぞれ設計の思想があり、利用できるプログラミング言語も異なっている。
ここで扱うKerasというのは、プロジェクトONEIROSの研究で開発され、GoogleのエンジニアのFrançois Cholletがつくったものだ。
Kerasのメリットは、最小限の記述で実行でき、初心者でも容易に実装できるわかりやすさにある。人工知能の普及や、大衆化といったことも言われている現在、その一役を担っている。一方、デメリットとしては、ブラックボックス的に処理してしまうため、中身を細かく理解せずとも使えてしまうという点や、自分で拡張をする場合に問題が出る可能性がある点だ。
Pythonでも提供されているが、ここでは前回同様にRで行う方法を解説する。
まず、分析の大きな流れについて紹介しよう。実行には、大きく五つのステップがある。細かい用語については第5回も参考にしてほしい。
0.フレームワークの入手
1を始めるまえに、実際にRを用意し、Kerasをダウンロードして、インストールするなどの準備が必要である。
1.データの用意
トレーニングデータのラベル、ラベルに関連するデータ、評価データのラベル、ラベルに関連するデータを準備する。
2.モデルの設定とコンパイル
どのようなネットワークにするかを、ここで指定する。またコンパイルの部分で「損失関数」(予測結果と実際の結果の違いを評価したもの)の指定や、損失からどのようにネットワークの重みを更新するか(「最適化器」)なども指定する。
ネットワークの設定では、隠れ層における「ノードの数」の指定、そしてreluなどの「活性化関数」の指定、層をいくつにするかの指定、dropoutを行うかということなどを指定する。
また、コンパイルの部分では「損失関数」や「最適化器」の指定を行う。これらは、学習で用いられる細かい設定である。学習というのは、図表2にもあるように予測した結果と実際の結果とのずれを損失関数で計算し、最適化器で適切にネットワークの重み(パラメータ)を更新していくことだ。例えば、「カテゴリカルデータのときは,cross-entropyなどを用いる」といったことを指定する。最適化器では、SDG(確率的勾配降下法)、RMSprop、adamなどが用意されており、これらを利用する。
3.学習
学習では、ミニバッチ確率的勾配降下法(SGD)を用いる場合の細かい設定を行ったうえで、実際にデータを用いてネットワークの重みの推定を行う部分だ。具体的にはミニバッチ(学習する際のデータの一部を抜き出したデータ)や、エポックと呼ばれる繰り返しの回数などを指定する。詳細は次節でのべる。
4.評価
評価では、(1)で用意したテストデータのラベルに関連するデータと、学習したモデルを用いて、実際にラベルを予測し、その結果がもとの結果をどの程度正確に予測できているかを評価する。
5.予測
最後に、学習したデータを用いて、新しいデータが入力された場合に、どのようなラベルになるかなどの予測を行う。
以上の五つが大きな流れである。これらに基づいて2節では具体的にRにおいてKerasを用いた実装について説明する。
参照コンテンツ
【シリーズ】マーケティングのための人工知能入門およびその周辺技術
- (1)人工知能とその社会的インパクト
- (2)人工知能とは
- (3)機械学習の入門およびマーケティング
- (4)ディープラーニングなどの新たな機械学習と因果などの限界
- (5)実践:今日からはじめる機械学習とディープ・ラーニング
- (6)Rを用いたディープラーニング入門
おすすめ新着記事
消費者調査データ レトルトカレー(2024年11月版) 首位「咖喱屋カレー」、3ヶ月内購入はダブルスコア
調査結果を見ると、「咖喱屋カレー」が、再購入意向を除く5項目で首位を獲得した。店頭接触、購入経験で2位に10ポイント以上の差をつけ、3ヶ月内購入では2位の「ボンカレーゴールド」のほぼ2倍の購入率となった。
「食と生活」のマンスリー・ニュースレター 伸長するパン市場 背景にある簡便化志向や節約志向
どんな人がパンを食べているのか調べてみた。主食として1年内に食べた頻度をみると、食事パンは週5回以上食べた人が2割で、特に女性50・60代は3割前後と高かった。パン類全体でみると、朝食で食事パンを食べた人は女性を中心に高く、特に女性50代は6割以上であった。
「食と生活」のマンスリー・ニュースレター 伸長するパン市場 背景にある簡便化志向や節約志向
どんな人がパンを食べているのか調べてみた。主食として1年内に食べた頻度をみると、食事パンは週5回以上食べた人が2割で、特に女性50・60代は3割前後と高かった。パン類全体でみると、朝食で食事パンを食べた人は女性を中心に高く、特に女性50代は6割以上であった。