

ピーシーキッドの人工知能(機械学習)技術
第一次AIブーム、第二次AIブームを経て、現在ビッグデータの普及・ディープラーニング(深層学習)という技術の発展もあり、第三次AIームが過熱しています。
人工知能には、特化型人工知能と汎用型人工知能があります。
今現在各企業で用いられているのは、特化型の人工知能です。
画像や映像から情報を抽出したり、音楽や文字を生成する技術は、さまざまな分野での活用が可能です。
当社では、ディープラーニング(深層学習)を用いたシステム開発を行っています。
ディープ・ラーニングを用いたシステム開発
株式会社ピーシーキッドでは、機械学習を用いたシステム開発にも取り組んでいます。 ロボットの分野では、機械学習を用いて、より高精度な認知が行えます。
話しかけた言葉を文章に置き換えたり、画像に写った物体が何かを理解出来るようになり、 ロボットの思考も機械学習の発展により、さらに高度に行えると期待されます。
弊社のロボットでも、機械学習の一手法であるディープラーニングを用いて、音声認識の精度向上や、 ロボットのコミュニケーション能力向上にむけて、人物認識や手書き文字認識などのシステム開発に取り組んでいます。

- 音声認識の向上
- コミュニケーション能力の向上
- 人物認識・画像認識
- 手書き文字認識
現在のディープ・ラーニング
一般的なディープ・ラーニング

ディープ・ラーニングは、ニューラル・ネットワークの一種で、入力層と出力層の間にいくつかの中間層を設けたものです。

層 X =( X 1 , X 2 , ..., X m )のノードの値を( x 1 , x 2 , ..., x m )とし、次の層を Y =( Y 1 , Y 2 , ..., Y n )とし、 X i から Y j への重みを w ij としたとき、層 Y のノードの値( y 1 , y 2 , ..., y n )は、一般的には y j = a (Σ i w ij x i + b j )と計算されます。
ここで、b j はバイアスと呼ばれる定数です。また、関数 a は活性化関数と呼ばれ、シグモイド関数sig( x )=1/(1+ e -x )がよく使われます。
学習の方法としては、バックプロパゲーションが基本です。これは、学習データ( x , t )に対する出力 z がずれていたら、 z が t に近づくように、出力層から入力層へ(つまり後ろ向きに)重み w ij を調節するというものです。ここで、学習率(例えば0.1)というパラメータを設定し、(一気にではなく、)少しだけ t に近づくようにします。
実際にディープ・ラーニングを行なうには、目的に応じて、学習の効率や認識の精度が高くなるように中間層を設計したり、学習率などのパラメータを適切に設定する必要があります。
例: 手書き文字認識

ここでは、ディープ・ラーニングの代表的な例として、手書き文字認識を取り上げます。
これは、0から9までの10種類の文字について、色々な人の手書き文字(画像データ)を学習させた後で、新たな手書き文字を認識するものです。

手書き文字認識では、中間層の設計として、畳み込み層とプーリング層を交互に並べます。

畳み込み層では、上下左右の数ピクセル(例えば11x11)についてのみ、Σ i w ij x i の計算をします。これによって、画像の局所的な特徴を取り出すことができます。
プーリング層では、上下左右の数ピクセル(例えば3x3)の代表値(例えば最大値)を、例えば2ピクセルごとに取り出します。 これによって、画像の平行移動や回転の影響を吸収し、画像を大域的に認識することができます。
以上のディープ・ラーニングは、畳み込みニューラル・ネットワークと呼ばれます。 畳み込みニューラル・ネットワークによって、99%以上の精度で手書き文字認識ができるようになりました。
なお、機械学習はディープ・ラーニングだけではありません。 続いて、その他の機械学習について紹介します。
ディープ・ラーニング以前の機械学習
株式会社ピーシーキッドは、ディープ・ラーニングが流行するより前から、人工知能(機械学習)に取り組んできました。
例えば、自然言語処理の中では、人工知能で文書分類ができます。 これは、メール文書やWeb文書を対象として、適切な学習を行った後で、大量の文書を自動的に分類したり、特定の内容の文書を自動的に抽出したりするものです。
ベイジアン・フィルタ、サポート・ベクトル・マシン、ニューラル・ネットワークなどが、代表的な方法です。

ベイジアン・フィルタ
ベイジアン・フィルタは、単語の出現確率から、文書分類のもっともらしさを計算する方法です。
ベイジアン・フィルタは古くから知られていますが、目的によっては十分な精度を持ちます。

サポート・ベクトル・マシン
サポート・ベクトル・マシンは、文書の超空間を超平面で線形分離する手法です。
一般的に文書は線形分離できませんが、カーネル関数と呼ばれる写像で高次元化すると、分類の精度を改善することができます。
ディープ・ラーニングが流行る前は、サポート・ベクトル・マシンがよく使われていました。

ニューラル・ネットワーク
ニューラル・ネットワークは、脳細胞(ニューロン)とシナプスの関係をシミュレーションしたものです。
特に、入力層と出力層の間にいくつかの中間層を設けたものが、ディープ・ラーニングです。
