ニューラルネットワークの学習は、簡単に言ってしまうと行列演算であり、ニューロンの定義(活性化関数とその導関数と入力数)やニューロンの接続構成(ネットワーク)が定義されると、演算処理自体は自動実行できる。こうしたことから、あらかじめディープラーニングに必要なプログラムを組み合わせて、外部から定義や一定形式の学習データを与えることで、ニューラルネットワークを動かすことが可能だ。このために作られた一群のソフトウエアは「ディープラーニングフレームワーク」(Deep learning Framework)と呼ばれる。

図1●ディープラーニングフレームワークとは、ニューラルネットワークをモデルとして定義、学習データの形式などを定め、各種のユーティリティ機能などを組みあわせたもの
[画像のクリックで拡大表示]

 ディープラーニングフレームワークでは、ニューラルネットワークの定義を「モデル」などと呼ぶ。「モデル」では、ニューロンの定義やその接続だけでなく、一群のニューロンをまとめた「層」などを定義でき、簡単にニューラルネットワークを定義できる。また多くの場合、モデルと学習済みのニューラルネットワークを組み合わせて配布可能にしたり、動作中の状態や各種パラメーターなどをグラフ化したりするツールなどが組み込まれている。

 学習を自動化する場合、学習データのデータ構造や正解情報の与え方を一定の「学習データ形式」とし、世間に流通しているさまざまな汎用データ形式(画像や音声、テキストなど)を自身の学習データ形式に変換するツールなどを含むこともある。

 また最近は、複数のディープラーニングフレームワークがあり、その中には他のフレームワークが保存、出力できるデータを取り込めるような機能を持つものもある。

 現時点では、複数のディープラーニングフレームワークが登場している(表1)。ほとんどがオープンソースとして提供されており、インターネット経由で入手可能だ。

この先は会員の登録が必要です。有料会員(月額プラン)は申し込み初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら