AI / ディープラーニング (Deep Learning) / 機械学習 (Machine Learning)

第3次人工知能ブームにより、人工知能は急激に盛り上がりを見せています。その背景にある「機械学習」、「ディープラーニング」 といった技術に大きな注目が集まっています。その中でもディープラーニングの技術は素晴らしく、この第3次人工知能ブームを支えているといっても過言ではありません。
機械学習 ・ ディープラーニング の概念自体は新しいものではありません。しかし、日々進化し拡大し続けています。

私たちは、機械学習 ・ ディープラーニング を用いたシステムの研究・開発を行っています。

AIの研究開発・受託開発を請け負います

AIテクノロジーを上手に活用すれば、今までよりも効率的に短時間で効果が得られると言われています。
でも、どうやって、どんな形で人工知能を使えば良いのか、人工知能は役立つものなのか、そもそも人工知能で何が実現できるのか・・・
漠然と何かしたいんだけど・・・、というお客様のために、まずは、コンサルティングで、課題の洗い出しを行います。
その過程で、実際のデータもご提供頂き分析・調査も同時に行います。
どういったシステムが効果的か試行錯誤を繰り返し、実証実験などを通じて問題解決に繋がる、そんな技術適用を目標に研究開発のサービスをご提供します。

AI(機械学習・ディープラーニング)機能が含まれる受託開発も請け負います。

<お問い合わせは、こちらからどうぞ>

機械学習 (Machine Learning)とは

データを繰り返し学習し、そのデータの中にあるパターン・経験則を認識します。
そして、新たな未知のデータに対して、機械が自律的に認識したパターン・経験則を当てはめて答えを導き出します。

学習するデータを入力とし、出力として答えを出します。さらに、入力と出力の間に学習するためのモデルと呼ばれるものがあります。
機械学習を行う過程の始めに、入力された学習データから特徴量と呼ばれる数値を抽出する必要があります。
特徴量とは、学習データにどのような特徴があるかを数値化したものです。この特徴量の抽出は人間が設計し作らなければいけません。
そして、抽出した特徴量を元に機械はパターン・経験則をモデルを使って学習します。


機械学習説明

機械学習によってもたらされる効果は絶大です。

  • 未来予測 – 株価や天気、さらには病気まで。あなたのこれからを予測します。
  • 異常検知(不正検知) – 設備の不良やスパムメールを検知しお知らせしてくれます。
  • 音声認識 – 魔法のようにあなたの声で様々な機器を操作できます。
  • 商品推薦(レコメンド) – ネットショッピングであなたに最適な商品をお勧めしてくれます。

機械学習の種類

機械学習の学習方法にはいくつか種類があります。そのうち、最も使われているのが教師有り学習と呼ばれるものです。
他にも、教師無し学習や半教師有り学習、強化学習といった学習方法があります。

教師有り学習 学習データ(入力)を学習する際に予め正解のデータ(出力)を与えることによって、「このような入力(特徴)だとこの答え」というパターンを学習します。
教師有り学習は過去のデータから将来発生しそうな出来事について予測します。
例) スパム判定、 画像認識、 天気予報
教師無し学習 教師無し学習は教師有り学習と違い、学習データ(入力)のみで学習を行います。
学習データから抽出した特徴量から本質的な構造を学習します。
例) 商品分類、推薦( レコメンド)、 異常検知
半教師あり学習 教師有り学習と同様にデータを学習します。教師有り学習と違う点は、正解のデータが存在する場合と与えない場合を混在して扱えるという点です。
教師有り学習より高い精度で学習できると言われています。
強化学習 強化学習は他の学習方法とは異なるものです。
現在の状態を観測して認識し、得られる報酬が一番高くなるような行動を選択します。
つまり、最良の選択を学習します。
例) ロボット工学、 品質管理、 ゲーミング(将棋、囲碁、チェス)

機械学習のアルゴリズム

機械学習は様々なシチュエーションで効果を発揮します。
それは、そのシチュエーションにあったアルゴリズムを選択・使用することによって実現します。
その一部をご紹介します。

クラスタリング

  • K平均法 (k-means)
  • ランダムフォレスト

クラス分類

  • サポートベクターマシン (SVM : Support Vector Machine)
  • 線形回帰
  • ロジスティック回帰
  • ナイーブベイズ
  • ランダムフォレスト
  • 隠れマルコフモデル
  • k近傍法 (k-Nearest Neighbor Algorithm)
  • ベイジアンネットワーク

次元削減

  • 主成分分析 (PCA : Principal Component Analysis)
  • 部分最小二乗回帰 (PLS : Partial Least Squares)
  • サモンマッピング
  • 多次元尺度法 (MDS : Multi Dimensional Scaling)

ニューラルネットワーク

  • パーセプトロン
  • ディープラーニング (Deep Learning)
  • 自己組織化マップ

その他

  • 遺伝的アルゴリズム (GA : Genetic Algorithm)

創屋の機械学習

創屋は機械学習を使用した技術の提供を行っています。

ライブラリ 技術 言語
scikit-learn 画像分類 / データ分類 / データクラスタリング / 次元削除 Python
NumPy / SciPy 画像分類 / データ分類 / データクラスタリング Python
Jubatus 自然言語処理 / 異常検知 / 推薦(レコメンド) / 線形回帰を使用した推定
Hadoopを使用した分散処理
Python / Java / C++
OpenCV 画像認識 / 画像処理 / データ分類 Python / Java / C++


ディープラーニング (Deep Learning)とは

従来の機械学習では人間が特徴量の設計をしなければいけなかったのに対し、ディープラーニングは自動でデータから特徴を取得して学習します。ディープラーニングにより、機械が「もの」「こと」を 認識・理解 し、新たな「もの」「こと」を予測・実行します。

なぜディープラーニングなのか

ディープラーニングはニューラルネットワークと呼ばれる人間の神経構造を模したアルゴリズムを発展させたものです。
ディープラーニングがニューラルネットワークと異なる点は、”層”の違いです。
隠れ層と呼ばれる真ん中にある層が2層以上存在することにより、精度・学習の複雑度が上がっていきます。

DeepNeuralNetworks

また、最大の特徴はやはり特徴量の自動獲得にあります。
従来の機械学習のアルゴリズムでは人間の手でデータか特徴量の抽出を行わなければいけなかったのに対し、ディープラーニングでは機械が自動でデータにどのような特徴があるのか取得し、学習します。

DeepLearning_Characteristic

この特徴量の自動獲得にはAutoEncoderと呼ばれるニューラルネットワークが使われています。
AutoEncoderは入力層・隠れ層・出力層の3層からなります。その特徴として入力と出力に同じデータを入力するということです。
入力されたデータを出力で復元しようとするため、自然と隠れ層には「入力データが圧縮される=特徴が凝縮される」ことになります。
これが特徴量の自動獲得の裏側です。

また、ディープラーニングの発展にはコンピューターの計算能力の向上が一因を担っています。
GPUを使用した計算(GPGPU)などにより、一昔前では到底終わらなかったような計算ができています。

ディープラーニングのモデル

ディープラーニングには様々なモデルが存在します。

ディープニューラルネットワーク
(DNN : Deep Neural Networks)
ニューラルネットワークを複数積み重ねて多層にした教師有り学習の基本となるモデルです。
分類、回帰、推薦(レコメンド)に役立ちます。
畳み込みニューラルネットワーク (CNN : Convolution Neural Networks) 層が多いネットワークの学習をうまく行うために畳み込みのフィルタ処理により特徴を抽出する手段が用いられている教師有り学習のモデルです。
画像の分野が得意で、画像認識に役立ちます。
再帰型ニューラルネットワーク
(RNN : Recurrent Neural Networks)
以前に計算した情報を入力データに含めることによって(再帰的に)、時系列的に入力データを扱うことができる教師有り学習のモデルです。
自然言語処理に役立ちます。
また、RNNには様々な種類があります。(以下に一部を記載します。)

  • 単純再帰型ニューラルネットワーク (Simple Recurrent Neural Networks)
  • LSTM (Long Short Term Memory)
  • GRU (Gated Recurrent Unit)
  • エコーステート (Echo State Networks)
ディープボルツマンマシン
(DBM : Deep Boltzmann Machine)
入力層と隠れ層の2層から成り立ち、確率分布を教師有り/教師無しどちらでも学習することができるモデルです。
積層オートエンコーダ
(SAE : Stacked Auto Encoder)
AutoEncoderを積み重ねた、ディープラーニングにおいて事前学習を行って特徴量を抽出する教師無し学習のモデルです。

創屋のディープラーニング

創屋はディープラーニングを使用した技術の提供を行っています。

ライブラリ 技術 言語
Chainer 画像分類 / 自然言語処理 / データ分類 / データクラスタリング Python
Deeplearning4j 画像分類 / 自然言語処理 / データ分類 / データクラスタリング
Apache Sparkを使用した分散処理
Java
Word2Vec 自然言語処理 Python / Java


システム開発 ご相談 お待ちしています

私たちは、機械学習・ディープラーニングを用いたシステムの研究・開発に取り組んでいます。
その積み重なったノウハウで、お客様がお持ちのデータに最適なライブラリ・手法・技術でシステムをご提供します。

  • こんなことしてみたいけど、できる?
  • こんなデータあるけど、何かに使える?

といったところからでもかまいません、まずはお問い合わせください。

  • 他のライブラリを使えないの?
  • このライブラリで別の技術を使いたいけど、できる?

などでも、ぜひお問い合わせください。
<お問い合わせは、こちらからどうぞ>