【課題】AIアルゴリズムに関する知識を有さないユーザであっても、目的の処理内容に適したAIアルゴリズムの提案を受けることが可能なプログラム、情報処理装置、情報処理方法及び学習モデルの生成方法を提供する。
【解決手段】コンピュータ(情報処理装置)は、人工知能に入力する入力コンテンツと、人工知能に入力コンテンツに基づいて予測させたい出力データとを取得する。そして、コンピュータは、入力コンテンツ及び出力データを入力した場合に人工知能が予測に用いるべきアルゴリズムを出力するように学習した学習モデルに、取得した入力コンテンツ及び出力データを入力し、人工知能が用いるべきアルゴリズムを出力する。
人工知能に入力する入力コンテンツと、前記人工知能に前記入力コンテンツに基づいて予測させたい出力データと、前記人工知能が予測に用いるアルゴリズムとを含む訓練データを取得し、
取得した訓練データを用いて、前記入力コンテンツ及び出力データを入力した場合に前記人工知能が予測に用いるべきアルゴリズムを出力する学習モデルを生成する
処理をコンピュータが実行する学習モデルの生成方法。
【発明を実施するための形態】
【0009】
以下に、本開示のプログラム、情報処理装置、情報処理方法及び学習モデルの生成方法について、その実施形態を示す図面に基づいて詳述する。
【0010】
(実施形態1)
AI(人工知能)に入力すべき入力コンテンツと、入力コンテンツに基づいてAIに実行させたい処理に関する出力データとに基づいて、AIに利用すべきAIアルゴリズムを提案する情報処理装置について説明する。
図1は情報処理装置の構成例を示すブロック図である。情報処理装置10は、パーソナルコンピュータ又はサーバコンピュータ等により構成されている。情報処理装置10は、制御部11、記憶部12、通信部13、入力部14、表示部15、読み取り部16等を含み、これらの各部はバスを介して相互に接続されている。制御部11は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)、TPU(Tensor Processing Unit)等の1又は複数のプロセッサを含む。制御部11は、記憶部12に記憶してある制御プログラム12Pを適宜実行することにより、情報処理装置10が行うべき種々の情報処理及び制御処理を行う。
【0011】
記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、ハードディスク、SSD(Solid State Drive)等を含む。記憶部12は、制御部11が実行する制御プログラム12P及び制御プログラム12Pの実行に必要な各種のデータ等を予め記憶している。また記憶部12は、制御部11が制御プログラム12Pを実行する際に発生するデータ等を一時的に記憶する。また記憶部12は、機械学習によって学習させた学習済みモデルであるAIアルゴリズム判別モデルMを記憶している。AIアルゴリズム判別モデルMは、人工知能ソフトウェアの一部として機能するプログラムモジュールとしての利用が想定される。更に記憶部12は、画像データ中の文字部分を認識してテキストデータ(文字データ)を生成するためのOCR(Optical Character Recognition)アプリケーションプログラム12AP(以下ではOCRアプリ12APという)を記憶する。
【0012】
通信部13は、有線通信又は無線通信によってインターネット等のネットワークに接続するためのインタフェースであり、ネットワークを介して他の装置との間で情報の送受信を行う。入力部14は、例えばマウス及びキーボード等を含み、ユーザによる操作入力を受け付け、操作内容に対応した制御信号を制御部11へ送出する。表示部15は、液晶ディスプレイ又は有機ELディスプレイ等であり、制御部11からの指示に従って各種の情報を表示する。入力部14及び表示部15は一体として構成されたタッチパネルであってもよい。
【0013】
読み取り部16は、CD(Compact Disc)−ROM、DVD(Digital Versatile Disc)−ROM、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード等を含む可搬型記憶媒体1aに記憶された情報を読み取る。記憶部12に記憶される制御プログラム12P及びデータ等は、制御部11が読み取り部16を介して可搬型記憶媒体1aから読み取って記憶部12に記憶してもよい。また、記憶部12に記憶される制御プログラム12P及びデータ等は、制御部11が通信部13を介してネットワーク経由で他の装置からダウンロードして記憶部12に記憶してもよい。
【0014】
図2はAIアルゴリズム判別モデルMの構成例を示すブロック図である。AIアルゴリズム判別モデルMは、例えばCNN(Convolution Neural Network)、RNN(Recurrent Neural Network)、LSTM(Long Short-Term Memory)、R−CNN(Regions with Convolution Neural Network )、Fast R−CNN、Faster R−CNN、Mask R−CNN、SSD(Single Shot Multibook Detector)、YOLO(You Only Look Once)等を含む機械学習のアルゴリズムのうちのいくつかを組み合わせて構成されている。AIアルゴリズム判別モデルMは、作成したいAIに入力する入力コンテンツ用のデータと、入力コンテンツが入力された場合にAIに実行させたい処理に関する出力データとを入力とし、入力された入力コンテンツ用のデータ及び出力データ用のデータに基づいて、入力コンテンツが入力された場合に出力データに係る処理を実行させるためのAIアルゴリズムを判別する演算を行い、演算した結果を出力するように学習した学習済みモデルである。
【0015】
具体的には、AIアルゴリズム判別モデルMは複数の入力ノードを有し、それぞれの入力ノードには、作成したいAIに入力する入力コンテンツ用のデータと、作成したいAIに実行させる処理に関する出力データ用のデータとが入力される。なお、入力コンテンツ用のデータとして、画像データ、時系列データ及びテキストデータ等を用いることができ、出力データ用のデータとして、画像データ、時系列データ及びテキストデータ等を用いることができる。なお、出力データ用のデータは、作成したいAIに出力させたいデータ(出力データ)であってもよく、作成したいAIに実行させたい処理に関するデータであってもよい。また、時系列データは例えば動画データ、音声データ、加速度センサ又は温度センサ等の各種センサによる検知信号(波形データ)等である。
【0016】
図3及び
図4は入力コンテンツ用のデータ及び出力データ用のデータの組合せ例を示す模式図である。例えば
図3Aの左側に示すような物体(対象物)の画像(画像データ)を入力した場合に、画像中の物体を検出して、
図3Aの右側に示すように検出した物体にマーカ(例えばバウンディングボックス)を付加した画像(画像データ)を出力するAIを作成したい場合、
図3Aの左側に示す画像データを入力コンテンツ用のデータとし、
図3Aの右側に示す画像データを出力データ用のデータとして、AIアルゴリズム判別モデルMの入力ノードにそれぞれ入力する。また、
図3Bの左側に示すような物体の画像を入力した場合に、画像中の物体を検出する処理を実行するAIを作成したい場合、
図3Bの左側に示す画像データを入力コンテンツ用のデータとして、
図3Bの右側に示すように「物体を検出する」のメッセージが記載されたテキストデータを出力データ用のデータとして、AIアルゴリズム判別モデルMの入力ノードにそれぞれ入力する。
【0017】
また、
図3Cの左側に示すような物体の画像を入力した場合に、画像中の物体を所定の種別に分類する処理を実行するAIを作成したい場合、
図3Cの左側に示すように複数の画像データを入力コンテンツ用のデータとして、
図3Cの右側に示すように「果物の種類を分類する」のメッセージが記載されたテキストデータを出力データ用のデータとして、AIアルゴリズム判別モデルMの入力ノードにそれぞれ入力する。また、
図3Dの左側に示すような複数の画像データを有する動画データを入力した場合に、画像中の物体の状態(人物の動作状態)を所定の種別に分類する処理を実行するAIを作成したい場合、
図3Dの左側に示す動画データを入力コンテンツ用のデータとして、
図3Dの右側に示すように「動作の種類を分類する」のメッセージが記載されたテキストデータを出力データ用のデータとして、AIアルゴリズム判別モデルMの入力ノードにそれぞれ入力する。
【0018】
また、
図4Aの左側に示すように、例えば電子メールの本文のテキストデータを入力した場合に、テキストデータの内容を、例えば問合せメール、スパムメール、クレームメール等の所定の種別又は記載内容に関するジャンル毎に分類する処理を実行するAIを作成したい場合、
図4Aの左側に示すような電子メールの本文のテキストデータを入力コンテンツ用のデータとして、
図4Aの右側に示すように「内容の種類を分類する」のメッセージが記載されたテキストデータを出力データ用のデータとして、AIアルゴリズム判別モデルMの入力ノードにそれぞれ入力する。なお、ここでの出力データ用のデータとして、「問合せメール、スパムメール、クレームメールに分類する」、「問合せメール、スパムメール、クレームメールを抽出する」等のメッセージが記載されたテキストデータを用いてもよい。また、
図4Bの左側に示すように文章が記載されたテキストデータを入力した場合に、入力されたテキストデータに続く文章を作成する処理を実行するAIを作成したい場合、
図4Bの左側に示すような文章のテキストデータを入力コンテンツ用のデータとして、
図4Bの右側に示すように「次の文章を予測する」のメッセージが記載されたテキストデータを出力データ用のデータとして、AIアルゴリズム判別モデルMの入力ノードにそれぞれ入力する。
【0019】
また、
図4Cの左側に示すように音声データ又は各種センサによる検知データ等の波形データ(時系列データ)を入力した場合に、時系列データに基づいて異常を検出する処理を実行するAIを作成したい場合、
図4Cの左側に示すような時系列データを入力コンテンツ用のデータとして、
図4Cの右側に示すように「異常を検出する」のメッセージが記載されたテキストデータを出力データ用のデータとして、AIアルゴリズム判別モデルMの入力ノードにそれぞれ入力する。また、
図4Dの左側に示すような画像データを入力した場合に、入力された画像データからノイズ成分を除去した画像を生成する処理を実行するAIを作成したい場合、
図4Dの左側に示すような画像データを入力コンテンツ用のデータとして、
図4Dの右側に示すように「ノイズを除去した画像を生成する」のメッセージが記載されたテキストデータを出力データ用のデータとして、AIアルゴリズム判別モデルMの入力ノードにそれぞれ入力する。
【0020】
また、
図4Eの左側に示すように、医科用又は歯科用の医療用画像の画像データを入力した場合に、入力された画像データから、ハレーション又は金属アーチファクト等のノイズ成分Hを除去した画像を生成する処理を実行するAIを作成したい場合、
図4Eの左側に示すようにノイズ成分Hを含む画像データを入力コンテンツ用のデータとして、
図4Eの右側に示すようにノイズ成分Hが除去された画像データを出力データ用のデータとして、AIアルゴリズム判別モデルMの入力ノードにそれぞれ入力する。また、
図4Eの左側に示すようなノイズ成分Hを含む複数の画像データを入力コンテンツ用のデータとしてもよく、
図4Eの右側に示すようにノイズ成分Hが除去された複数の画像データを出力データ用のデータとしてもよい。上述したように、AIアルゴリズム判別モデルMの入力ノードには、作成したいAIに入力すべき入力コンテンツ(入力コンテンツ用のデータ)と、AIから出力させたい出力データ又はAIに実行させたい処理の内容を記載したテキストデータ等(出力データ用のデータ)とが1セットとして入力される。
【0021】
AIアルゴリズム判別モデルMは、入力ノードから入力された画像データに対して画像特徴量を抽出する画像特徴量抽出部、入力ノードから入力された時系列データに対してデータ特徴量を抽出するデータ特徴量抽出部、入力ノードから入力されたテキストデータに対してテキスト特徴量を抽出するテキスト特徴量抽出部、それぞれの特徴量抽出部で抽出された特徴量データが入力される全結合層等を有する。よって、AIアルゴリズム判別モデルMは、入力ノードから画像データが入力された場合、画像特徴量抽出部にて所定のフィルタ処理及び圧縮処理を行って画像の特徴量データを生成し、時系列データが入力された場合、データ特徴量抽出部にて所定のフィルタ処理及び圧縮処理を行って時系列データの特徴量データを生成し、テキストデータが入力された場合、テキスト特徴量抽出部にて所定のフィルタ処理及び圧縮処理を行ってテキストデータの特徴量データを生成する。それぞれの特徴量抽出部にて生成された特徴量データは全結合層へ出力される。全結合層は複数層設けられており、入力された特徴量データに基づいて、各種の関数及び閾値等を用いて各層のノードの出力値を算出し、算出した出力値を順次後の層のノードに入力する。全結合層は、各層のノードの出力値を順次後の層のノードに入力することにより、最終的にAIアルゴリズム判別モデルMの各出力ノードに出力値を与える。これにより、AIアルゴリズム判別モデルMは、入力ノードから入力された各データに対して所定の演算を行い、演算結果である出力値を各出力ノードから出力する。
【0022】
本実施形態のAIアルゴリズム判別モデルMは複数の出力ノードを有する。各出力ノードは、複数種類のAIアルゴリズム(第1アルゴリズム、第2アルゴリズム…)のそれぞれに対応付けられており、それぞれ対応付けられたAIアルゴリズムに対する判別確率を出力する。ここでのAIアルゴリズムは、例えばCNN、RNN、LSTM、R−CNN、Fast R−CNN、Faster R−CNN、Mask R−CNN,SSD、YOLO、ResNet、Seq2Seq(Sequence to Sequence)、SegNet、FCN(Fully Convolutional Network )、U−Net、GAN(Generative Adversarial Network)、CycleGAN、SVM(サポートベクターマシン)、ロジスティック回帰、ランダムフォレスト、ナイーブベイズ分類器、クラスタリング、DQN(Deep Q Network)、Rainbow等とすることができる。各出力ノードからの出力値(判別確率)は、各出力ノードに対応付けられているAIアルゴリズムが、入力ノードから入力された入力コンテンツ及び出力データに係るAIを実現するために用いるアルゴリズムとして適切である可能性を示す。各出力ノードからの出力値は例えば0〜1の値であり、全ての出力ノードから出力される判別確率の合計が1となる。
【0023】
上述した構成のAIアルゴリズム判別モデルMは、作成したいAIに入力すべき入力コンテンツ及びAIに実行させたい処理に関する出力データ(出力させたいデータ又は処理内容を記載したテキストデータ等)の入力データセットと、適切なAIアルゴリズムを示す情報(正解ラベル)とを含む訓練データを用いて学習する。例えば、
図3Aの左側に示すような画像データを入力コンテンツとし、
図3Aの右側に示すような画像データを出力データとする入力データセットに対しては、R−CNN、SSD、YOLO等の物体検出用のAIアルゴリズムのいずれかを正解ラベルとした訓練データを用いることができる。なお、物体検出用のAIアルゴリズムを正解ラベルとする入力データセットとしては、例えば、X線撮影、CT(Computed Tomography)、MRI(Magnetic Resonance Imaging)、PET(Positron Emission Tomography)等の撮像装置を用いて撮影して得られた医療用画像を入力コンテンツとし、この医療用画像中の腫瘤又は腫瘍等の病変にマーカが付けられた画像を出力データとする入力データセットを用いることができる。また、建物及び橋梁等の建築物の外壁を撮影した画像を入力コンテンツとし、この画像中の傷、ひび割れ又は亀裂等の劣化箇所にマーカが付けられた画像を出力データとする入力データセット、或いは、電子部品、電化製品、自動車及び工業製品等において不具合の発生を点検したい箇所を撮影した画像を入力コンテンツとし、この画像中の傷又は組立不良等の不具合箇所にマーカが付けられた画像を出力データとする入力データセット等を、物体検出用のAIアルゴリズムを正解ラベルとする入力データセットに用いてもよい。また、入力コンテンツ用の画像データ及び出力データ用の画像データはそれぞれ複数あってもよい。
【0024】
また、
図3Bの左側に示すような画像データを入力コンテンツとし、
図3Bの右側に示すようにAIに実行させたい処理として物体検出処理が記載してあるテキストデータを出力データとする入力データセットに対しても、物体検出用のAIアルゴリズムのいずれかを正解ラベルとした訓練データを用いることができる。なお、物体検出用のAIアルゴリズムを正解ラベルとする入力データセットとしては、例えば医療用画像を入力コンテンツとし、AIに実行させたい処理として、「腫瘍を検出する」のメッセージが記載してあるテキストデータを出力データとする入力データセット、或いは、建築物の外壁又は各種製品を撮影した画像を入力コンテンツとし、「傷を検出する」、「不具合箇所を検出する」等のメッセージが記載してあるテキストデータを出力データとする入力データセット等を用いてもよい。
【0025】
また、
図3Cの左側に示すような画像データを入力コンテンツとし、
図3Cの右側に示すようにAIに実行させたい処理として分類処理が記載してあるテキストデータを出力データとする入力データセットに対して、VGG16、VGG19又はResNet(Residual Network)等のCNN、SVM、クラスタリング、ロジスティック回帰等の物体分類用のAIアルゴリズムのいずれかを正解ラベルとした訓練データを用いることができる。なお、物体分類用のAIアルゴリズムを正解ラベルとする入力データセットとしては、
図3Dの左側に示すような画像データ(動画データ)を入力コンテンツとし、
図3Dの右側に示すようにAIに実行させたい処理として分類処理が記載してあるテキストデータを出力データとする入力データセット等を用いてもよい。また、物体分類用のAIアルゴリズムを正解ラベルとする入力データセットの出力データ用のデータとしては、入力コンテンツ用の画像データに対して、分類結果を示すマーカを付加した画像データを用いてもよい。
【0026】
また、
図4Aの左側に示すようなメール本文のテキストデータを入力コンテンツとし、
図4Aの右側に示すようにAIに実行させたい処理としてテキストデータの内容の分類処理が記載してあるテキストデータを出力データとする入力データセットに対して、CNN、RNN又はSeq2Seq等のAIアルゴリズムのいずれかを正解ラベルとした訓練データを用いることができる。
【0027】
また、
図4Bの左側に示すようなテキストデータを入力コンテンツとし、
図4Bの右側に示すようにAIに実行させたい処理として続きの文章を作成(予測)する処理が記載してあるテキストデータを出力データとする入力データセットに対して、LSTM又はSeq2Seq等のAIアルゴリズムのいずれかを正解ラベルとした訓練データを用いることができる。なお、このようなAIアルゴリズムを正解ラベルとする入力データセットとしては、
図4Bの左側に示すようなテキストデータを入力コンテンツとし、AIに実行させたい処理としてテキストで使用されている言語を判別する処理が記載してあるテキストデータを出力データとする入力データセット、或いは、音声データを入力コンテンツとし、AIに実行させたい処理として続きの文章の作成処理又は言語の判別処理が記載してあるテキストデータを出力データとする入力データセット等を用いてもよい。
【0028】
また、
図4Cの左側に示すような時系列データを入力コンテンツとし、
図4Cの右側に示すようにAIに実行させたい処理として異常を検出する処理が記載してあるテキストデータを出力データとする入力データセットに対して、R−CNN又はSSD等のAIアルゴリズムのいずれかを正解ラベルとした訓練データを用いることができる。また、
図4Cの左側に示すような時系列データを入力コンテンツとし、AIに実行させたい処理として故障時期を予測する処理が記載してあるテキストデータを出力データとする入力データセットに対して、Seq2Seq又はRNN等のAIアルゴリズムのいずれかを正解ラベルとした訓練データを用いることができる。
【0029】
また、
図4Dの左側に示すような画像データを入力コンテンツとし、
図4Dの右側に示すようにAIに実行させたい処理としてノイズ成分を除去した画像を生成する処理が記載してあるテキストデータを出力データとする入力データセットに対して、U−Net、GAN等のAIアルゴリズムのいずれかを正解ラベルとした訓練データを用いることができる。また、
図4Eの左側に示すような画像データを入力コンテンツとし、
図4Eの右側に示すような画像データを出力データとする入力データセットに対して、U−Net、GAN等のAIアルゴリズムのいずれかを正解ラベルとした訓練データを用いることができる。このように、出力データとしてテキストデータ、又は、入力コンテンツの画像データからノイズ除去処理等の所定処理を行った後の画像データを用いてもよい。また、ここでの入力コンテンツとして、
図4Eに示す歯科用の画像データのほかに、医科用の画像データを用いてもよい。また、
図4D及び
図4Eの左側に示すような画像データを入力コンテンツとし、AIに実行させたい処理としてフェイク画像又は類似画像(第2画像データ)を生成する処理が記載してあるテキストデータを出力データとする入力データセットに対しては、GAN又はCycleGAN等のAIアルゴリズムのいずれかを正解ラベルとした訓練データを用いることができる。ここでの出力データにも、テキストデータの代わりに、入力コンテンツの画像データから生成されたフェイク画像データ又は類似画像データを用いてもよい。
【0030】
また、例えばロボットアームの撮影画像又はロボットアームに取り付けられたセンサによる検知データを入力コンテンツとし、AIに実行させたい処理としてロボットアームによってボールをつかむ処理(達成すべき目標)が記載してあるテキストデータ(目標データ)を出力データとする入力データセットに対して、DQN又はRainbow等の強化学習用のAIアルゴリズムのいずれかを正解ラベルとした訓練データを用いることができる。また、製品の動作条件が記載してあるテキストデータを入力コンテンツとし、AIに実行させたい処理として製品に搭載したい目的のスペックに関する情報が記載してあるテキストデータ(目標データ)を出力データとする入力データセットに対して、ナイーブベイズ分類器又はDQN等のAIアルゴリズムのいずれかを正解ラベルとした訓練データを用いることができる。
【0031】
AIアルゴリズム判別モデルMの訓練データに用いる入力データセットは、上述したセットに限定されず、画像データ、時系列データ(音声データ等)及びテキストデータを用いることができる。なお、テキストデータをAIアルゴリズム判別モデルMに入力する場合、テキストデータの代わりに、テキストデータの記載内容を読み上げた音声データを入力してもよい。また、画像データをAIアルゴリズム判別モデルMに入力する代わりに、画像データからOCRアプリ12APを用いて生成したテキストデータを入力してもよい。また、例えば論文の電子データのように、画像データ及びテキストデータを含む文書データから、画像データ及びテキストデータをそれぞれ抽出して訓練データ用の入力データセットに用いてもよい。例えば、文書データ中の画像データには、画像の内容に関する説明等を記載したテキストデータが付与されている場合があり、このような画像データ及びテキストデータを対応付けて抽出することにより、画像データと画像の内容を説明するテキストデータとを取得できる。よって、画像データを入力コンテンツとし、画像の内容を説明するテキストデータを出力データとする入力データセットをAIアルゴリズム判別モデルMに入力することにより、画像データに基づいて、画像の内容を説明するテキストデータを生成する処理を実行するAIに用いるべきアルゴリズムを特定できる。
【0032】
AIアルゴリズム判別モデルMは、上述したような訓練データに含まれる入力データセット(入力コンテンツ用のデータ及び出力データ用のデータ)が入力された場合に、訓練データに含まれる正解ラベルが示すAIアルゴリズムに対応する出力ノードから1の出力値が出力され、他の出力ノードから0の出力値が出力されるように学習する。学習処理においてAIアルゴリズム判別モデルMは、フィルタ処理及び圧縮処理等における各種関数の係数及び重み付け係数等を最適化するように学習する。これにより、上述したような入力データセットが入力された場合に、入力データセット中の入力コンテンツに基づいて、入力データセット中の出力データに係る処理を実現するためのAIアルゴリズムを特定した結果として、それぞれのAIアルゴリズムに対する判別確率を出力するように学習した学習済みのAIアルゴリズム判別モデルMが得られる。AIアルゴリズム判別モデルMの学習は、他の学習装置で行われてもよく、情報処理装置10で行われてもよい。
【0033】
以下に、本実施形態の情報処理装置10が、AIを作成する際に用いるべきAIアルゴリズムを提案する処理について説明する。
図5はAIアルゴリズムの提案処理手順の一例を示すフローチャート、
図6及び
図7は画面例を示す模式図である。以下の処理は、情報処理装置10の記憶部12に記憶してある制御プログラム12Pに従って制御部11によって実行される。以下の処理の一部を専用のハードウェア回路で実現してもよい。
【0034】
本実施形態の情報処理装置10において、AIアルゴリズムを提案する処理を行う場合、制御部11は、ユーザが作成したいAIに関する情報を受け付けるための受付画面を表示部15に表示する(S11)。
図6は受付画面例を示す。
図6に示す受付画面は、作成したいAIに入力するコンテンツ(入力コンテンツ)を指定するための入力欄15aを有する。入力欄15aには、例えば記憶部12に記憶してあるデータのファイル名を選択するためのプルダウンメニューが設定されている。ユーザは、入力部14を介してプルダウンメニューを操作することにより、任意のデータ(ファイル名)を選択して入力欄15aに入力する。また受付画面は、AIに実行させたい処理に関するデータとして、AIから出力させたいデータ(出力データ)を指定するための入力欄15bと、AIに実行させたい処理の内容を入力するための入力欄15cと、入力欄15b,15cのいずれかを選択するためのラジオボタンとを有する。入力欄15bには入力欄15aと同様のプルダウンメニューが設定されている。ユーザは、AIに実行させたい処理に関するデータとして、出力データの指定又は処理内容の入力のいずれかをラジオボタンで選択する。そしてユーザは、出力データの指定を選択した場合、入力部14を介して入力欄15bのプルダウンメニューを操作することにより、任意のデータ(ファイル名)を入力欄15bに入力する。またユーザは、処理内容の入力を選択した場合、入力部14を介して入力欄15cに任意の文字(テキストデータ)を入力する。受付画面は、入力欄15a〜15cに入力された内容で、AIアルゴリズムの選択処理の実行を指示するためのOKボタンと、受付画面の表示終了を指示するためのキャンセルボタンとを有する。ユーザは、受付画面において、作成したいAIに入力するデータ(入力コンテンツ用のデータ)を選択し、AIに実行させたい処理に関するデータを選択又は入力することによって、AIアルゴリズム判別モデルMに入力すべき入力データセットを指定し、OKボタンを操作することによって、入力した内容のAIを実現するために適したAIアルゴリズムの選択処理の実行を指示する。
【0035】
制御部11(取得部)は、入力部14を介したユーザの操作に従って、入力コンテンツ用のデータ及び出力データ用のデータ(入力データセット)の入力を受け付け、受け付けた内容のAIを実現するためのAIアルゴリズムの選択処理の実行指示を受け付ける。制御部11は、受付画面を介して、AIアルゴリズムの選択処理の実行指示を受け付けたか否かを判断しており(S12)、受け付けていないと判断した場合(S12:NO)、受付画面を介して入力コンテンツ用のデータ及び出力データ用のデータの入力を継続する。
【0036】
制御部11は、AIアルゴリズムの選択処理の実行指示を受け付けたと判断した場合(S12:YES)、受け付けた入力コンテンツ用のデータの種類を特定する(S13)。例えば制御部11は、受け付けた入力コンテンツ用のデータが、画像データ、テキストデータ、或いは、音声データ又はセンサによる検知データ等の時系列データのいずれであるかを判断する。次に制御部11は、受け付けた出力データ用のデータの種類を特定する(S14)。ここでも制御部11は、出力データ用のデータが画像データ、テキストデータ、或いは、時系列データのいずれであるかを判断する。
【0037】
入力コンテンツ及び出力データのデータ種類を特定した後、制御部11は、受け付けた入力コンテンツ用のデータ及び出力データ用のデータ(入力データセット)をAIアルゴリズム判別モデルMに入力する(S15)。なお、制御部11は、受け付けた入力コンテンツ用のデータを、ステップS13で特定した種類に対応する入力ノードから入力し、受け付けた出力データ用のデータを、ステップS14で特定した種類に対応する入力ノードから入力する。そして制御部11は、AIアルゴリズム判別モデルMからの出力情報に基づいて、適切なAIアルゴリズムを特定する(S16)。例えば制御部11は、AIアルゴリズム判別モデルMの各出力ノードからの出力値のうちで、最大値の出力ノードを特定し、特定した出力ノードに対応付けられているAIアルゴリズムを、適切なAIアルゴリズムに特定する。また制御部11は、最大値の出力ノードを特定し、特定した最大値が所定値(例えば0.7)以上である場合に、特定した出力ノードに対応付けられているAIアルゴリズムを、適切なAIアルゴリズムに特定してもよい。また制御部11は、出力値が大きい順に所定数の出力ノードを特定し、又は、出力値が所定値(例えば0.4)以上である1又は複数の出力ノードを特定し、特定した出力ノードに対応付けられているAIアルゴリズムを特定してもよい。
【0038】
制御部11(出力部)は、特定したAIアルゴリズムを通知するための通知画面を生成して表示部15に表示する(S17)。
図7Aは通知画面例を示しており、
図7Aに示す通知画面は、
図3Aに示した入力データセットがAIアルゴリズム判別モデルMに入力された場合の通知例を示す。
図7Aに示す通知画面は、
図3Aに示した入力データセットにおける入力コンテンツ用の画像データと、出力データ用の画像データとがそれぞれAIの入力コンテンツ及び出力データとなることを示しており、このようなAIに適したAIアルゴリズムとしてR−CNN、SDD、YOLOの提案を表示している。制御部11は、受付画面を介して受け付けた入力コンテンツ用のデータと出力データ用のデータとをそれぞれ入力コンテンツ及び出力データとするAIを図示し、ステップS16で特定したAIアルゴリズムの名称を表示することにより、
図7Aに示す画面を生成する。なお、例えば特定したAIアルゴリズムがU−Netである場合に、「U−Netをお勧めします。ほかにはGANをお勧めします。」のような通知メッセージを表示する通知画面を生成してもよい。この場合、各AIアルゴリズムに対応する通知メッセージを記憶部12に記憶しておき、制御部11は、特定したAIアルゴリズムに対応する通知メッセージを記憶部12から読み出すことにより、通知メッセージを表示した通知画面を生成できる。また通知画面において、各AIアルゴリズムは、入力部14を用いて選択できるように構成されており、ユーザは、使用したいAIアルゴリズムがある場合、通知画面中のAIアルゴリズムを入力部14にて選択する。
【0039】
制御部11は、通知画面において、いずれかのAIアルゴリズムに対する選択を受け付けたか否かを判断しており(S18)、受け付けていないと判断した場合(S18:NO)、受け付けるまで待機する。なお、通知画面は、画面表示の終了を指示するための閉じるボタンを有しており、閉じるボタンが入力部14を介して操作された場合、制御部11は、通知画面の表示を終了し、上述した処理を終了する。
【0040】
通知画面において、いずれかのAIアルゴリズムに対する選択を受け付けたと判断した場合(S18:YES)、制御部11は、選択されたAIアルゴリズムに対して用意されているリンク画面を表示部15に表示する(S19)。
図7Bはリンク画面例を示しており、リンク画面は、選択されたAIアルゴリズムに関連付けて用意されているライブラリ又はフレームワークを提供するURL(Uniform Resource Locator)へのリンク、及び選択されたAIアルゴリズムを使用して実現されたAIの事例を提供するURLへのリンクが設定されている。具体的には、
図7Bに示すリンク画面は、R−CNN用のライブラリ又はフレームワークのダウンロードが可能なサイト(
図7BではAAサイト及びBBサイト)のURLと、R−CNNの使用事例を公開しているサイト(
図7BではCCサイト及びDDサイト)のURLとを表示しており、各URLへのリンクが設定されている。よって、ユーザは、アクセスしたいURLがある場合、リンク画面中のURLのリンクを入力部14にて選択することにより、URLへのアクセスの実行を指示する。
【0041】
制御部11は、リンク画面において、いずれかのURLへのアクセスの実行指示を受け付けたか否かを判断しており(S20)、受け付けていないと判断した場合(S20:NO)、受け付けるまで待機する。なお、リンク画面も閉じるボタンを有しており、閉じるボタンが入力部14を介して操作された場合、制御部11は、リンク画面の表示を終了し、上述した処理を終了する。リンク画面において、いずれかのURLへのアクセスの実行指示を受け付けたと判断した場合(S20:YES)、制御部11は、選択されたURLに対して通信部13を介してアクセスし、アクセスしたURLにおけるウェブサイトからサイト画面(図示せず)を受信して表示部15に表示する(S21)。
【0042】
AIアルゴリズム用のライブラリ又はフレームワークのダウンロードが可能なサイト画面が表示部15に表示されている場合、ユーザは、サイト画面を介して所望のライブラリ又はフレームワークをダウンロードすることができ、AIを作成する際に用いるライブラリ又はフレームワークを取得できる。制御部11は、サイト画面に対して、入力部14を介したユーザからの操作に従って、ユーザが所望するライブラリ又はフレームワーク(第2学習モデル)をウェブサイトから取得し、取得したライブラリ又はフレームワークを記憶部12に記憶する。また、AIアルゴリズムの使用事例を公開するサイト画面が表示部15に表示されている場合、ユーザは、サイト画面を介して使用事例を閲覧することができる。制御部11は、サイト画面に対して、入力部14を介したユーザからの操作に従って、ユーザが所望するウェブサイトにアクセスし、ウェブサイトから取得したサイト画面を表示部15に表示する。
【0043】
上述した処理により、ユーザがAIを作成したい場合に、作成したいAIに入力すべき入力コンテンツ用のデータと、AIに実行させたい処理に関するデータ(具体的には出力データ又は処理内容が記載されたテキストデータ)とを情報処理装置10に入力することで、作成したいAIに適したAIアルゴリズムの提案を受けることができる。よって、AIアルゴリズムに関する知識が乏しいユーザであっても、AIに対して入力するコンテンツ及びAIに実行させたい処理内容を指定することによって、作成したいAIに適したAIアルゴリズムの提案を受けることができる。従って、ユーザは、自身が作成したいAIに適したAIアルゴリズムを知ることができ、提案されたAIアルゴリズムを用いてAIの作成を試みることによって、所望のAIを効率良く実現することが可能となる。
【0044】
(実施形態2)
実施形態1の情報処理装置10で使用したAIアルゴリズム判別モデルMの生成処理について説明する。なお、AIアルゴリズム判別モデルMの学習は例えば所定の学習装置で行われ、学習装置で学習が行われて生成された学習済みのAIアルゴリズム判別モデルMは、ネットワーク経由又は可搬型記憶媒体1a経由で学習装置から情報処理装置10にダウンロードされて記憶部12に記憶される。
図8は、学習装置の構成例を示すブロック図である。学習装置30は、パーソナルコンピュータ、サーバコンピュータ等で構成されており、制御部31、記憶部32、通信部33、入力部34、表示部35、読み取り部36等を含み、これらの各部はバスを介して相互に接続されている。学習装置30の各部31〜36は、実施形態1の情報処理装置10の各部11〜16と同様であるので詳細な説明は省略する。なお、学習装置30の記憶部32は、制御プログラム32P及びAIアルゴリズム判別モデルMに加えて、AIアルゴリズム判別モデルMの学習に用いる訓練データが記憶してある訓練データDB(データベース)32aを記憶する。また学習装置30の記憶部32はOCRアプリ12APと同様のOCRアプリを記憶していてもよい。
【0045】
訓練データDB32aには、AIにおける入力コンテンツ及び出力データ(入力データセット)と、AIに適切なAIアルゴリズムを示す情報(正解ラベル)とが対応付けられた訓練データが記憶されている。なお、AIにおける入力コンテンツは、作成対象のAIに入力すべき入力コンテンツ用のデータであり、AIにおける出力データは、作成対象のAIから出力させたい出力データ、又は作成対象のAIに実行させたい処理内容を示したテキストデータである。
【0046】
図9はAIアルゴリズム判別モデルMの生成処理手順の一例を示すフローチャートである。学習装置30の制御部31は、訓練データDB32aから訓練データを1つ取得する(S31)。制御部31は、読み出した訓練データを用いてAIアルゴリズム判別モデルMの学習処理を行う(S32)。ここでは、制御部31は、訓練データに含まれる入力データセットをAIアルゴリズム判別モデルMに入力した場合に、訓練データに含まれる正解ラベルに対応する出力ノードからの出力値が1に近づき、他の出力ノードからの出力値が0に近づくようにAIアルゴリズム判別モデルMを学習させる。なお、学習処理においてAIアルゴリズム判別モデルMは、実行すべきフィルタ処理及び圧縮処理等の演算に用いる各種の関数の係数、並びに各種の重み付け係数等を最適化するように学習する。
【0047】
制御部31は、訓練データDB32aに記憶してある訓練データにおいて、未処理の訓練データがあるか否かを判断し(S33)、未処理の訓練データがあると判断した場合(S33:YES)、ステップS31の処理に戻る。そして、制御部31は、未処理の訓練データを訓練データDB32aから読み出し、読み出した訓練データを用いて学習処理を繰り返す。未処理の訓練データがないと判断した場合(S33:NO)、制御部31は学習処理を終了する。
【0048】
上述した処理により、作成したいAIに対する入力コンテンツ及び出力データが入力された場合に、このようなAIを作成するために適切なAIアルゴリズムの判別結果として、各種のAIアルゴリズムに対する判別確率を出力するように学習されたAIアルゴリズム判別モデルMが生成される。なお、既に学習済みのAIアルゴリズム判別モデルMについても、上述した学習処理を行うことによって再学習させることができ、この場合、判別精度がより高いAIアルゴリズム判別モデルMを生成できる。また、訓練データDB32aに記憶してある訓練データを用いて、
図9に示す学習処理を繰り返し行うことにより、AIアルゴリズム判別モデルMをより最適化することができる。
【0049】
図10はAIアルゴリズム判別モデルMの生成処理手順の他の一例を示すフローチャートである。
図10に示す処理は、
図9に示す処理においてステップS31の前にステップS41〜S45を追加したものである。
図9と同じステップについては説明を省略する。なお、
図10に示す生成処理では、学習装置30の制御部31は、例えばAIに関する論文、新聞、ウェブサイト、雑誌等の各種の記事から訓練データを生成し、訓練データDB32aに記憶してある訓練データに加えて、生成した訓練データを用いた学習処理を行う。よって、学習処理を行うユーザは、AI及びAIアルゴリズムに関する論文、新聞、ウェブサイト、雑誌等の各種記事の電子データを用意し、学習装置30の記憶部32に記憶させる。そしてユーザは、入力部34を介してAIアルゴリズム判別モデルMの生成処理(学習処理)の実行を指示する。
【0050】
学習装置30の制御部31は、AIアルゴリズム判別モデルMの生成処理の実行指示を受け付けた場合、記憶部32に記憶された各種の記事の電子データを読み出す(S41)。なお、制御部31は、AIアルゴリズム判別モデルMの生成処理の実行指示を受け付けた場合に、例えばネットワーク経由で、AIに関する各種記事の電子データを検索してダウンロードするように構成されていてもよい。制御部31は、読み出した記事の電子データから、AIアルゴリズム判別モデルMの学習処理に用いる訓練データ用のデータを抽出する(S42)。制御部31は、記事の電子データに対して言語処理を行い記事内容から、正解ラベルに用いるAIアルゴリズム、このAIアルゴリズムを用いて実現されたAIに対して入力すべき入力コンテンツ用のデータ、AIから出力される出力データ又はAIに実行させたい処理に関するデータを抽出する。例えば、正解ラベルに用いるAIアルゴリズムを抽出するために用いるキーワードとして、「AAAのアルゴリズムでは」、「AAAの学習処理では」、「AAAを使った予測手法では」等を記憶部32に記憶しておき、制御部31は、記事内容から上述したキーワードを抽出する。上述したキーワードを抽出した場合、制御部31は、「AAA」を正解ラベルに用いるAIアルゴリズムに用いることができる。
【0051】
また、入力コンテンツ用のデータを抽出するために用いるキーワードとして、「BBBを入力データとした場合」、「入力データはBBBである」、「
図BBBの画像から認識する」等を記憶部32に記憶しておき、制御部31は、記事内容から上述したキーワードを抽出する。上述したキーワードを抽出した場合、制御部31は、「BBB」又は
図BBBの画像を入力コンテンツ用のデータに用いることができる。更に、出力データ用のデータを抽出するために用いるキーワードとして、「出力データはCCCとなる」、「予測の結果はCCCである」、「処理の結果、
図CCCの画像が得られる」等を記憶部32に記憶しておき、制御部31は、記事内容から上述したキーワードを抽出する。上述したキーワードを抽出した場合、制御部31は、「CCC」又は
図CCCの画像を出力データ用のデータに用いることができる。
【0052】
また制御部31は、機械学習によって構築されたニューラルネットワークを用いて、記事の電子データから、正解ラベルに用いるAIアルゴリズム、入力コンテンツ用のデータ、出力データ用のデータを抽出してもよい。例えばCNNモデル、RNNモデル、LSTMモデル等で構成され、記事の電子データが入力された場合に、電子データ中の各領域に対して、正解ラベルに用いるAIアルゴリズムの記載領域、入力コンテンツ用のデータの記載領域、出力データ用のデータの記載領域、それ以外の領域に分類するように学習された学習モデルを用いてもよい。この場合、制御部31は、記事の電子データを学習済みの学習モデルに入力し、学習モデルからの出力情報に基づいて、記事の電子データにおいて、正解ラベルに用いるAIアルゴリズムの記載領域、入力コンテンツ用のデータの記載領域、出力データ用のデータの記載領域をそれぞれ抽出することができる。なお、入力コンテンツ用のデータ及び出力データ用のデータは、画像データ、時系列データ、テキストデータのいずれであってもよい。
【0053】
制御部31は、正解ラベルに用いるAIアルゴリズムと、このAIアルゴリズムを用いて実現されたAIに対して入力すべき入力コンテンツ用のデータと、AIから出力される出力データ又はAIに実行させたい処理に関するデータとを抽出する。制御部31は、記事の電子データから、訓練データ用のデータとして、入力コンテンツ用のデータ及び出力データ用のデータ(まとめて入力データセット)と、AIアルゴリズムに関する情報(正解ラベル)とを抽出できたか否かを判断する(S43)。抽出できたと判断した場合(S43:YES)、制御部31は、抽出した入力データセットと正解ラベルとを対応付けて1つの訓練データを生成し(S44)、記憶部32又は訓練データDB32aに記憶する。訓練データ用のデータを抽出できないと判断した場合(S43:NO)、制御部31は、ステップS44の処理をスキップする。そして制御部31は、記憶部32に記憶してある記事の電子データのうちで、未処理の電子データがあるか否かを判断し(S45)、未処理の電子データがあると判断した場合(S45:YES)、ステップS41の処理に戻る。そして、制御部31は、未処理の電子データを記憶部32から読み出し、読み出した電子データから訓練データ用のデータの抽出処理を繰り返す。未処理の電子データがないと判断した場合(S45:NO)、制御部31は、
図9中のステップS31の処理に移行する。なお、
図10に示す処理において、ステップS31では、制御部31は、訓練データDB32aに記憶してある訓練データに加えて、ステップS44で生成した訓練データのうちから1つの訓練データを取得する。
【0054】
上述した処理により、学習装置30は、AIアルゴリズム判別モデルMの学習に用いる訓練データを自動で生成することができる。よって、例えばネットワーク経由で公開されている種々のデータを用いて訓練データを生成することにより、多数の訓練データを用意することができる。このように生成した訓練データを用いて学習処理させることにより、AIアルゴリズム判別モデルMの精度を高めることが可能となる。
【0055】
上述したような学習処理を行ったAIアルゴリズム判別モデルMを用いることにより、作成したいAIに入力する入力コンテンツと、AIから出力させたい出力データ又はAIに実行させたい処理内容とに基づいて、適切なAIアルゴリズムが判別される。よって、AIアルゴリズムに関する知識が乏しいユーザであっても、自身が作成したいAIに適したAIアルゴリズムを知ることができ、所望のAIを効率良く実現することが可能となる。
【0056】
また、多数の訓練データを用いてAIアルゴリズム判別モデルMを学習させた場合には、入力コンテンツ及び出力データに対してより適切なAIアルゴリズムを特定できるAIアルゴリズム判別モデルMを実現できる。なお、AIアルゴリズム判別モデルMは、例えば作成したいAIに入力する入力コンテンツのデータの種類に応じて各別のモデルを生成してもよい。例えば、入力コンテンツ用のデータが画像データである場合のモデル、入力コンテンツ用のデータがテキストデータである場合のモデル、入力コンテンツ用のデータが時系列データである場合のモデル等を各別に生成してもよい。この場合、入力コンテンツ用のデータの種類に応じたAIアルゴリズム判別モデルMを使用することができ、入力コンテンツの種類に応じた高精度のAIアルゴリズム判別モデルMを使用できる。
【0057】
(実施形態3)
AIアルゴリズム判別モデルMを用いて特定されたAIアルゴリズムに対する尤度が低い場合に、AIアルゴリズム判別モデルMに入力するデータ(作成すべきAIにおける入力コンテンツ用のデータ及び出力データ用のデータ)を追加で入力する情報処理装置について説明する。本実施形態の情報処理装置は、実施形態1の情報処理装置10と同様の構成を有するので、構成についての詳細な説明は省略する。
【0058】
図11は実施形態3のAIアルゴリズムの提案処理手順の一例を示すフローチャートである。
図11に示す処理は、
図5に示す処理においてステップS16及びステップS17の間にステップS51〜S52を追加したものである。
図5と同じステップについては説明を省略する。
【0059】
本実施形態の情報処理装置10において、制御部11は、
図5中のステップS11〜S16と同様の処理を行う。これにより、制御部11は、受付画面を介して受け付けた入力コンテンツ用のデータ及び出力データ用のデータに基づいて、AIアルゴリズム判別モデルMを用いて適切なAIアルゴリズムを特定する。制御部11は、特定したAIアルゴリズムに対する尤度が所定値(例えば0.8)以下であるか否かを判断する(S51)。具体的には、制御部11は、AIアルゴリズム判別モデルMにおいて、ステップS16で特定したAIアルゴリズムに対応付けられている出力ノードからの出力値(判別確率)が所定値以下であるか否かを判断する。特定したAIアルゴリズムに対する尤度が所定値以下でないと判断した場合(S51:NO)、制御部11は、ステップS17の処理に移行し、ステップS17以降の処理を実行する。
【0060】
特定したAIアルゴリズムに対する尤度が所定値以下であると判断した場合(S51:YES)、制御部11は、ユーザが作成したいAIに関する情報を追加で受け付けるための追加受付画面を表示部15に表示する(S52)。追加受付画面は、
図6に示す画面と同様の構成を有しており、ユーザが作成したいAIに入力する入力コンテンツと、AIに実行させたい処理に関するデータとの両方又はいずれか一方を指定するための入力欄を有する。なお、追加受付画面は、ステップS11で表示した受付画面を介して入力された入力コンテンツ及び出力データの情報を表示し、更に追加すべき入力コンテンツ及び出力データの入力欄を有する。ユーザは、追加で指定したい入力コンテンツ用のデータ、及び/又は、出力データ用のデータを、入力部14を介してそれぞれの入力欄に入力する。
【0061】
制御部11は、追加受付画面において、入力部14を介したユーザの操作に従って、入力コンテンツ用のデータ及び出力データ用のデータの両方又は一方の入力を受け付ける。また制御部11は、追加受付画面のOKボタンが操作されることにより、受け付けた内容に基づいて、AIアルゴリズムの選択処理の実行指示を受け付ける。制御部11は、ステップS12の処理に移行し、追加受付画面を介して、AIアルゴリズムの選択処理の実行指示を受け付けたか否かを判断し(S12)、受け付けたと判断した場合(S12:YES)、追加受付画面を介して受け付けた入力コンテンツ用のデータと、出力データ用のデータとにおいて、データの種類を特定する(S13,S14)。そして制御部11は、受け付けた入力コンテンツ用のデータ及び出力データ用のデータをAIアルゴリズム判別モデルMに入力し(S15)、AIアルゴリズム判別モデルMからの出力情報に基づいて、適切なAIアルゴリズムを特定する(S16)。ここでは制御部11は、ステップS11で表示した受付画面を介して受け付けた入力コンテンツ用のデータ及び出力データ用のデータと、追加受付画面を介して受け付けた入力コンテンツ用のデータ及び出力データ用のデータとの両方をAIアルゴリズム判別モデルMに入力してもよい。
【0062】
制御部11は、特定したAIアルゴリズムに対する尤度が所定値よりも大きい値であると判断するまで、ステップS12〜S16,S51〜S52の処理を繰り返す。これにより、制御部11は、追加受付画面を介して受け付けた新たなデータ(入力コンテンツ用のデータ及び/又は出力データ用のデータ)をAIアルゴリズム判別モデルMに入力し、AIアルゴリズム判別モデルMからの出力情報に基づいて適切なAIアルゴリズムを再度特定(再度出力)する。上述したAIアルゴリズムの特定処理を繰り返すことにより、ユーザが入力した入力コンテンツ用のデータ及び出力データ用のデータに基づいて、ユーザが作成したいAIにより適したAIアルゴリズムを特定することができ、ユーザに提案することができる。
【0063】
本実施形態では、上述した各実施形態と同様の効果が得られる。また本実施形態では、特定されたAIアルゴリズムに対する尤度が所定値以下である場合、即ち、特定したAIアルゴリズムが適切である可能性が低い場合に、AIアルゴリズム判別モデルMに入力するデータを追加し、更なる判別処理が実行される。よって、ユーザが作成したいAIにより適したAIアルゴリズムの特定が可能となり、適切なAIアルゴリズムの提案が可能となる。本実施形態においても、上述した各実施形態で適宜説明した変形例の適用が可能である。
【0064】
(実施形態4)
AIアルゴリズム判別モデルMを用いて特定したAIアルゴリズムに対するユーザの評価を受け付ける情報処理装置について説明する。本実施形態の情報処理装置は、実施形態1の情報処理装置10と同様の構成を有するので、構成についての詳細な説明は省略する。本実施形態の情報処理装置10は、
図5に示す処理と同様の処理を行う。これにより、
図6に示すような受付画面を介して、作成すべきAIに入力すべき入力データセットを受け付け、受け付けた入力データセットに対して適切なAIアルゴリズムをAIアルゴリズム判別モデルMを用いて特定して、ユーザに提案することができる。
【0065】
本実施形態の情報処理装置10では、AIアルゴリズム判別モデルMを用いて特定されてユーザに提案されたAIアルゴリズムに対して、ユーザからの評価を受け付ける構成を有する。例えばユーザは、
図7Bに示すリンク画面を介して、所望のAIアルゴリズムのライブラリ又はフレームワークをダウンロードしてAIを作成し、作成したAIに対して評価を行う。例えば、所望のAIアルゴリズムのライブラリ又はフレームワークに対して、作成したいAIに対する入力データ(入力コンテンツ)及び出力データを含む訓練データを用いた学習処理を実行して所望のAIを作成する。その後、ユーザは、評価用のデータ(作成したAIに対する入力データ及び正解の出力データ)を用いて、作成したAIを評価する。ここでは、ユーザは、評価用データの入力データを、作成したAIに入力し、AIからの出力データが、評価用データの出力データに一致するか否かを判断する。そしてユーザは、評価した結果を、評価受付画面を介して入力する。
【0066】
図12は評価受付画面例を示す模式図である。制御部11は、入力部14を介してユーザから評価受付画面の表示指示を受け付けた場合、評価受付画面を表示部15に表示する。
図12Aは、
図7Bに示すリンク画面で通知された各ウェブサイトに対する評価情報を、例えば5段階(例えば5が最高)で入力できるように構成されており、
図12Bは、
図7Aに示す通知画面で通知された各AIアルゴリズムに対する評価情報を5段階で入力できるように構成されている。
図12Aに示す評価受付画面を介して評価を受け付ける場合、AIアルゴリズムに対するライブラリ又はフレームワークに対する評価情報を受け付けることができ、
図12Bに示す評価受付画面を介して評価を受け付ける場合、AIアルゴリズムに対する評価情報を受け付けることができる。このような評価受付画面を介して受け付けた評価情報に基づいて、例えば高い評価を受け付けたAIアルゴリズムと、このAIアルゴリズムを特定する際にAIアルゴリズム判別モデルMに入力された入力データセットとを対応付けて再学習用の訓練データを生成することができる。よって、ユーザからの評価に基づいて生成された訓練データを用いてAIアルゴリズム判別モデルMを再学習させることにより、ユーザの評価が反映された、より適切なAIアルゴリズムを特定できるAIアルゴリズム判別モデルMを生成できる。なお、複数の情報処理装置10において、それぞれのユーザによる評価情報に基づいて生成された訓練データをまとめて、AIアルゴリズム判別モデルMに再学習させることもできる。この場合、複数のユーザの評価が反映され、より精度の高いAIアルゴリズム判別モデルMを生成できる。
【0067】
図13は訓練データの生成処理手順の一例を示すフローチャートである。ユーザは、情報処理装置10によって提案されたAIアルゴリズムを利用した結果の評価を行う場合、入力部14を介して評価受付画面の表示を指示する。制御部11は、入力部14を介して評価受付画面の表示指示を受け付けた場合、
図12A又は
図12Bに示すような評価受付画面を表示部15に表示する(S61)。ユーザは、評価受付画面において、評価したいAIアルゴリズムに対して5段階での評価情報を入力してOKボタンを操作することにより、評価情報の登録を指示する。
【0068】
制御部11は、ユーザによる評価情報を受け付けたか否かを判断しており(S62)、受け付けたと判断した場合(S62:YES)、受け付けた評価情報が高評価であるか否かを判断する(S63)。例えば制御部11は、受け付けた評価情報が、5段階評価(5が最高)で5又は4である場合、高評価であると判断し、3以下である場合、低評価であると判断する。制御部11は、ユーザによる評価情報を受け付けていないと判断した場合(S62:NO)、例えば評価受付画面における閉じるボタンが操作された場合、又は、受け付けた評価情報が高評価でないと判断した場合(S63:NO)、処理を終了する。受け付けた評価情報が高評価であると判断した場合(S63:YES)、制御部11は、高評価を受けた評価対象となったAIアルゴリズムに対する入力データセットを読み出す(S64)。例えば制御部11は、
図5中のステップS15でAIアルゴリズム判別モデルMに入力された入力コンテンツ用のデータ及び出力データ用のデータ(入力データセット)を読み出す。
【0069】
そして制御部11は、評価対象であったAIアルゴリズムを正解ラベルとして、読み出した入力データセットに正解ラベルを対応付けて訓練データを生成する(S65)。制御部11は、生成した訓練データを、記憶部12又は記憶部12に設けられた訓練データDBに記憶して(S66)、処理を終了する。なお、制御部11は、評価受付画面を介してAIアルゴリズムに対する高評価を受け付ける都度、上述した処理を行って訓練データを生成してもよく、複数の高評価を受け付けた場合に、まとめて各評価情報に基づいて訓練データを生成してもよい。上述した処理により、AIアルゴリズム判別モデルMを用いて提案されたAIアルゴリズムに対してユーザが高評価を行った場合に、高評価されたAIアルゴリズムの提案に用いられた入力データセットを用いて訓練データを生成することができる。このような訓練データを用いてAIアルゴリズム判別モデルMを学習又は再学習させることにより、精度の高いAIアルゴリズム判別モデルMを生成できる。
【0070】
本実施形態では、上述した各実施形態と同様の効果が得られる。また本実施形態では、AIアルゴリズム判別モデルMを用いて提案されたAIアルゴリズムに対する評価を受け付けることができる。また、ユーザによって高評価が得られたAIアルゴリズムを用いて訓練データを生成することができ、このような訓練データを用いてAIアルゴリズム判別モデルMを再学習させることにより、ユーザの評価を反映させた判別結果が得られるAIアルゴリズム判別モデルMを生成できる。また、本実施形態においても、上述した各実施形態で適宜説明した変形例の適用が可能である。また、本実施形態の構成は実施形態3の情報処理装置10にも適用可能であり、実施形態3の情報処理装置10に適用した場合であっても同様の効果が得られる。
【0071】
(実施形態5)
受付画面を介してユーザが作成したいAIに関する情報(入力データセット)を受け付ける処理を端末装置で行い、AIアルゴリズム判別モデルMを用いて適切なAIアルゴリズムを特定する処理を所定のサーバで行う情報処理システムについて説明する。
図14は情報処理システムの構成例を示すブロック図である。本実施形態の情報処理システムはサーバ40及び端末装置50を有し、サーバ40及び端末装置50はインターネット等のネットワークNを介して接続されている。サーバ40は、サーバコンピュータ又はパーソナルコンピュータを用いて実現されてもよく、1台のサーバ内に設けられた複数の仮想マシンを用いて実現されてもよく、クラウドサーバを用いて実現されてもよい。端末装置50は、パーソナルコンピュータ、タブレット端末、スマートフォン等を用いて構成される。
【0072】
サーバ40は、制御部41、記憶部42、通信部43、入力部44、表示部45、読み取り部46等を含み、これらの各部はバスを介して相互に接続されている。サーバ40の各部41〜46は、実施形態1の情報処理装置10の各部11〜16と同様であるので詳細な説明は省略する。なお、サーバ40の記憶部42は、制御プログラム42P及びAIアルゴリズム判別モデル42Mを記憶する。AIアルゴリズム判別モデル42Mは、実施形態1の情報処理装置10が記憶するAIアルゴリズム判別モデルMと同様の構成を有する。
【0073】
端末装置50は、制御部51、記憶部52、通信部53、入力部54、表示部55等を含み、これらの各部はバスを介して相互に接続されている。端末装置50の各部51〜55は、実施形態1の情報処理装置10の各部11〜15と同様であるので詳細な説明は省略する。なお、端末装置50の記憶部52は、制御プログラム52P及びOCRアプリ52APを記憶する。OCRアプリ52APは、実施形態1の情報処理装置10が記憶するOCRアプリ12APと同様の構成を有する。
【0074】
以下に、本実施形態の情報処理システムにおいて、AIを作成する際に用いるべきAIアルゴリズムを提案する処理について説明する。
図15は実施形態5のAIアルゴリズムの提案処理手順の一例を示すフローチャートである。以下の処理は、サーバ40の記憶部42に記憶してある制御プログラム42Pに従って制御部41によって実行され、端末装置50の記憶部52に記憶してある制御プログラム52Pに従って制御部51によって実行される。以下の処理の一部を専用のハードウェア回路で実現してもよい。なお、以下の処理のうちで、
図5に示した情報処理装置10による処理と同様の処理については詳細な説明を省略する。
【0075】
本実施形態の情報処理システムにおいて、端末装置50の制御部51は、
図6に示すような受付画面を表示部15に表示する(S71)。制御部51は、入力部54を介したユーザの操作に従って、入力コンテンツ用のデータ及び出力データ用のデータ(入力データセット)の入力を受け付け、受け付けた内容のAIを実現するためのAIアルゴリズムの選択処理の実行指示を受け付ける。制御部51は、受付画面を介して、AIアルゴリズムの選択処理の実行指示を受け付けたか否かを判断しており(S72)、受け付けていないと判断した場合(S72:NO)、受付画面を介して入力コンテンツ用のデータ及び出力データ用のデータの入力を継続する。
【0076】
制御部51は、AIアルゴリズムの選択処理の実行指示を受け付けたと判断した場合(S72:YES)、受け付けた入力コンテンツ用のデータ及び出力データ用のデータをネットワークN経由でサーバ40へ送信する(S73)。サーバ40の制御部41は、端末装置50から入力コンテンツ用のデータ及び出力データ用のデータを受信した場合、受信した入力コンテンツ用のデータの種類を特定し(S74)、受信した出力データ用のデータの種類を特定する(S75)。そして制御部41は、端末装置50から受信した入力コンテンツ用のデータ及び出力データ用のデータ(入力データセット)をAIアルゴリズム判別モデル42Mに入力し(S76)、AIアルゴリズム判別モデル42Mからの出力情報に基づいて、適切なAIアルゴリズムを特定する(S77)。制御部41は、特定したAIアルゴリズムを通知するための通知画面を生成してネットワークN経由で端末装置50へ送信する(S78)。
【0077】
端末装置50の制御部51は、サーバ40から通知画面を受信した場合、受信した通知画面を表示部55に表示する(S79)。制御部51は、通知画面にて通知されたAIアルゴリズムのいずれかに対する選択を受け付けたか否かを判断しており(S80)、受け付けていないと判断した場合(S80:NO)、受け付けるまで待機する。AIアルゴリズムのいずれかに対する選択を受け付けたと判断した場合(S80:YES)、制御部51は、選択されたAIアルゴリズムに対して用意されているリンク画面を表示部55に表示する(S81)。なお、リンク画面は、通知画面と共にサーバ40から取得しておいてもよく、AIアルゴリズムのいずれかに対する選択を受け付けた時点で、制御部51が、選択されたAIアルゴリズムに対するリンク画面をサーバ40に要求してサーバ40から取得してもよい。
【0078】
制御部51は、リンク画面を介して、いずれかのURLへのアクセスの実行指示を受け付けたか否かを判断し(S82)、受け付けていないと判断した場合(S82:NO)、受け付けるまで待機する。いずれかのURLへのアクセスの実行指示を受け付けたと判断した場合(S82:YES)、制御部51は、選択されたURLに対して通信部53を介してアクセスし、アクセスしたURLにおけるウェブサイトからサイト画面(図示せず)を受信して表示部55に表示する(S83)。本実施形態においても、ユーザは、端末装置50の表示部55に表示されたサイト画面を介して、所望のAIアルゴリズムに対応するライブラリ又はフレームワークをダウンロードすることができる。またユーザは、所定のAIアルゴリズムの使用事例を閲覧することができる。
【0079】
上述した処理により、ユーザがAIを作成したい場合に、作成したいAIに入力すべき入力コンテンツ用のデータと、AIに実行させたい処理に関するデータ(具体的には出力データ又は処理内容が記載されたテキストデータ)とを端末装置50に入力することで、作成したいAIに適したAIアルゴリズムの提案をサーバ40から受けることができる。よって、AIアルゴリズムに関する知識が乏しいユーザであっても、AIに対して入力するコンテンツ及びAIに実行させたい処理内容を指定することによって、作成したいAIに適したAIアルゴリズムの提案を受けることができる。従って、ユーザは、自身が作成したいAIに適したAIアルゴリズムを知ることができ、提案されたAIアルゴリズムを用いてAIの作成を試みることによって、所望のAIを効率良く実現することが可能となる。
【0080】
本実施形態では、上述した各実施形態と同様の効果が得られる。また本実施形態では、端末装置50を介して入力されたデータに基づいて、サーバ40がAIアルゴリズム判別モデルMを用いて適切なAIアルゴリズムの特定処理を行う。よって、サーバ40によるAIアルゴリズム判別モデルMを用いたAIアルゴリズムの提案処理を、複数の端末装置50から利用することができる。また、サーバ40でAIアルゴリズム判別モデルMを管理することにより、AIアルゴリズム判別モデルMの更新処理(再学習処理)を容易に行うことができ、最新のAIアルゴリズム判別モデルMによって特定されたAIアルゴリズムの提案が可能となる。本実施形態においても、上述した各実施形態で適宜説明した変形例の適用が可能である。また、本実施形態の構成は実施形態3〜4の情報処理装置10にも適用可能であり、実施形態3〜4の情報処理装置10に適用した場合であっても同様の効果が得られる。
【0081】
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本開示の範囲は、上記した意味では無く、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
人工知能に入力する入力コンテンツと、前記人工知能に前記入力コンテンツに基づいて予測させたい出力データと、前記人工知能が予測に用いるアルゴリズムとを含む訓練データを取得し、
取得した訓練データを用いて、入力コンテンツ及び出力データが入力される入力ノードと、複数種類のアルゴリズムのそれぞれに対応し、それぞれのアルゴリズムを人工知能が予測に用いるべきアルゴリズムとすべき確率を出力する出力ノードとを有し、前記入力コンテンツ及び出力データを入力した場合にそれぞれのアルゴリズムに対する確率を出力する学習モデルを生成する
処理をコンピュータが実行する学習モデルの生成方法。