(57)【要約】【課題】機械学習により学習を行った結果として獲得された能力による成果を識別して適切に管理するための技術を提供する。【解決手段】学習成果識別装置は、機械学習により所定の学習がなされたことによって所定の能力を獲得した学習結果に対して、所定の学習を識別可能な第１情報と、学習結果を識別可能な第２情報と、学習結果によってもたらされる成果を識別可能な第３情報と、を含む識別情報を生成する生成部と、生成された識別情報を格納する記憶部と、を備える。【選択図】図１
2018151974.tif 000002
【特許請求の範囲】
【請求項１】
機械学習により所定の学習がなされたことによって所定の能力を獲得した学習結果に対して、前記所定の学習を識別可能な第１情報と、前記学習結果を識別可能な第２情報と、前記学習結果によってもたらされる成果を識別可能な第３情報と、を含む識別情報を生成する生成部と、
前記生成された識別情報を格納する記憶部と、
を備える学習成果識別装置。
【請求項２】
前記生成部は、
第１の成果をもたらした学習結果に対して、特定の識別範囲内において、前記第１の成果を識別可能な第１の識別情報を生成し、
第２の成果をもたらした学習結果に対して、前記特定の識別範囲内において、前記第２の成果を識別可能な第２の識別情報を生成する、
請求項１記載の学習成果識別装置。
【請求項３】
前記生成部は、前記第１及び第２の成果がもたらされる際に与えられる条件のうち、前記特定の識別範囲内において学習結果又は当該学習結果によってもたらされる成果に影響を与える要因に基づいて、前記識別情報を生成する、
請求項２記載の学習成果識別装置。
【請求項４】
所定の要因が前記学習結果又は前記成果に与える影響の感応度を計測することによって、当該要因が前記学習結果又は前記成果に影響を与える要因であるか否かを判定する影響判定部、
をさらに備える請求項３記載の学習成果識別装置。
【請求項５】
前記識別情報によって識別可能な学習の情報は、学習装置、学習プログラム、学習データ、学習の回数、学習の時期、学習の目標、学習の方法、学習依頼者、学習データの取得元、又は学習データの取得方法、のうち少なくともいずれかの要因を含む、
請求項１乃至４のいずれかに記載の学習成果識別装置。
【請求項６】
前記識別情報によって識別可能な学習結果の情報は、学習の実施環境に関する情報、学習結果を利用する装置に関する情報、学習結果が獲得した能力に関する情報のうち少なくともいずれかの要因を含む、
請求項１乃至５のいずれかに記載の学習成果識別装置。
【請求項７】
前記識別情報によって識別可能な成果の情報は、学習によって獲得された能力、学習結果の利用者、学習結果を利用する装置、学習結果が利用される場所、学習結果の利用目的、学習結果の利用対象、学習結果の組み合わせ、学習結果の分割、学習結果の利用履歴のうち少なくともいずれかの要因を含む、
請求項１乃至６のいずれかに記載の学習成果識別装置。
【請求項８】
所定の能力を獲得するために行われた所定の学習の結果である学習結果を適用可能な検査機であって、
検査対象物を測定する少なくとも１つのセンサと、
前記学習結果を記憶する記憶部であって、請求項１乃至７のいずれかに記載の学習成果識別装置によって生成された識別情報を前記学習結果に対応付けて記憶する、記憶部と、
を備える検査機。
【請求項９】
制御部を備えるコンピュータが実行する学習成果識別方法であって、
機械学習により所定の学習がなされたことによって所定の能力を獲得した学習結果に対して、前記所定の学習を識別可能な第１情報と、前記学習結果を識別可能な第２情報と、前記学習結果によってもたらされる成果を識別可能な第３情報と、を含む識別情報を生成するステップと、
前記生成された識別情報を記憶部に格納するステップと、
を備える学習成果識別方法。
【請求項１０】
コンピュータを、
機械学習により所定の学習がなされたことによって所定の能力を獲得した学習結果に対して、前記所定の学習を識別可能な第１情報と、前記学習結果を識別可能な第２情報と、前記学習結果によってもたらされる成果を識別可能な第３情報と、を含む識別情報を生成する手段、及び
前記生成された識別情報を記憶部に格納する手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習の成果を識別する技術に関する。
【背景技術】
【０００２】
従来から、ニューラルネットワークなどの人工知能技術（以下、「ＡＩ技術」という。）に関する研究が、幅広く行われている（例えば、特許文献１参照）。特に、深層学習（Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ）と呼ばれるＡＩ技術の台頭により、例えば画像による対象物の認識技術は、ここ数年で認識率が急速に向上し、画像の分類については人の認識率を超えるレベルに到達しつつある。深層学習の技術は、画像の認識のみではなく、音声認識、個人認証、行動予測、文章の要約、自動翻訳、監視、自動運転、故障予測、センサデータの分析、楽曲のジャンル判定、コンテンツ生成、セキュリティシステム、その他幅広い分野への応用が期待されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５８１６７７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
深層学習などの機械学習においては、機械を学習させて所定の能力を獲得させることができる。学習の結果として獲得された能力は、例えば、学習済みのニューラルネットワークの構造とパラメータに関する情報としてデータ化することで、記憶媒体や通信手段を介して別の装置上で利用することが可能となる。
【０００５】
汎用の学習装置や、学習サービスを提供するシステムにおいては、多くの学習結果が出力される。また、特定用途の学習装置であっても、学習データのセットが多数ある場合には、同様に多くの学習結果が出力されることになる。学習結果の違いは、その学習結果を利用した場合の成果に影響を与えるため、学習結果の利用者は、その学習結果によってもたらされる成果の違いを把握することが好ましい。しかし、今後、ＡＩ技術が普及するにつれて、様々な場所で多種多様な機械学習が行われるようになると、それぞれの学習や学習結果がどのようなものであるかを把握することに加え、学習結果について期待されていたことと、学習結果によって実現された成果との対応関係を把握することがますます困難になることが見込まれる。
【０００６】
そこで、本発明は、機械学習により学習を行った結果として獲得された能力による成果を識別して適切に管理するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面に係る学習成果識別装置は、機械学習により所定の学習がなされたことによって所定の能力を獲得した学習結果に対して、所定の学習を識別可能な第１情報と、学習結果を識別可能な第２情報と、学習結果によってもたらされる成果を識別可能な第３情報と、を含む識別情報を生成する生成部と、生成された識別情報を格納する記憶部と、を備える。
【０００８】
かかる構成によれば、学習結果によってもたらされる成果は、識別情報によって識別される。これにより、獲得された能力のそれぞれが利用されたときに如何なる成果を得られたかを識別して適切に管理することができる。また、識別情報が、学習とその学習結果とその学習結果の成果との対応関係に関する情報が識別情報に埋め込まれるため、学習とその学習結果とその学習結果の成果との対応関係を用いる処理を実行する際に、処理負荷や通信負荷を抑制することができる。
【０００９】
生成部は、第１の成果をもたらした学習結果に対して、特定の識別範囲内において、前記第１の成果を識別可能な第１の識別情報を生成し、第２の成果をもたらした学習結果に対して、特定の識別範囲内において、第２の成果を識別可能な第２の識別情報を生成するものとしてよい。
【００１０】
かかる構成によれば、ある特定のグループ内など、所定の識別範囲内において学習の成果を識別するために十分な識別情報が付与される。これにより、識別情報の情報量を抑制し、識別情報を記憶するためのリソースを抑えることができる。
【００１１】
生成部は、第１及び第２の成果がもたらされる際に与えられる条件のうち、特定の識別範囲内において学習結果又は当該学習結果によってもたらされる成果に影響を与える要因に基づいて、識別情報を生成してもよい。このとき、所定の要因が学習結果又は成果に与える影響の感応度を計測することによって、当該要因が学習結果又は成果に影響を与える要因であるか否かを判定してもよい。かかる構成によれば、学習成果に影響を与えない条件に関する情報を識別情報から除くことにより、獲得された能力により如何なる成果がもたらされたかの識別性を落とすことなく、識別情報の情報量を抑制することができる。
【００１２】
本発明の一側面に係る検査機は、所定の能力を獲得するために行われた所定の学習の結果である学習結果を適用可能な検査機であって、検査対象物を測定する少なくとも１つのセンサと、学習結果を記憶する記憶部を備える。記憶部には、機械学習により所定の学習がなされたことによって所定の能力を獲得した学習結果に対して、所定の学習を識別可能な第１情報と、学習結果を識別可能な第２情報と、学習結果によってもたらされる成果を識別可能な第３情報と、を含む識別情報を、学習結果に対応付けて記憶してもよい。かかる発明によれば、検査機が学習とその学習結果とその学習結果の成果との対応関係を利用した処理を実行する際に、処理負荷や通信負荷を抑制することができる。
【００１３】
また、本発明の一側面に係る学習成果識別方法は、制御部を備えるコンピュータが、機械学習により所定の学習がなされたことによって所定の能力を獲得した学習結果に対して、前記所定の学習を識別可能な第１情報と、前記学習結果を識別可能な第２情報と、前記学習結果によってもたらされる成果を識別可能な第３情報と、を含む識別情報を生成するステップと、生成された識別情報を記憶部に格納するステップと、を実行する。
【００１４】
本発明の一側面に係るプログラムは、コンピュータを、機械学習により所定の学習がなされたことによって所定の能力を獲得した学習結果に対して、前記所定の学習を識別可能な第１情報と、前記学習結果を識別可能な第２情報と、前記学習結果によってもたらされる成果を識別可能な第３情報と、を含む識別情報を生成する手段、及び前記生成された識別情報を記憶部に格納する手段、として機能させる。
【発明の効果】
【００１５】
本発明によれば、機械学習により学習を行った結果として獲得された能力による成果を識別して適切に管理するための技術を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態における学習サービスの提供が行われるシステム全体の概略を示す図である。
【図２】本実施形態における学習サービスの流れを概念的に示す図である。
【図３】学習データ準備装置の構成の一例を示すブロック図である。
【図４】学習依頼装置の構成の一例を示すブロック図である。
【図５】学習結果利用装置の構成の一例を示すブロック図である。
【図６】学習結果データベースの構成の一例を示すブロック図である。
【図７Ａ】基本要因の一例を示す図である。
【図７Ｂ】影響要因の一例を示す図である。
【図８】学習依頼受付装置の構成の一例を示すブロック図である。
【図９】学習装置の構成の一例を示すブロック図である。
【図１０】学習管理装置の構成の一例を示すブロック図である。
【図１１】識別範囲のリストの一例を示す図である。
【図１２】学習結果データベースにおいて管理される学習に関する情報の構造の一例を示す図である。
【図１３】学習依頼システムの処理の一例を示すフローチャートである。
【図１４】学習サービス提供システムの処理の一例を示すフローチャートである。
【図１５】検査機の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。また、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。さらに、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。
【００１８】
＜１．システム概要＞
図１及び図２を参照して本実施形態におけるシステムの概要について説明する。
図１は、本システム全体の概略を示す図である。本システムは、学習サービス提供システム１と学習依頼システム２とを含んで構成され、両者はインターネットなどのネットワークＮ０を介して互いに接続される。なお、本システムの構成は図示のものに限定されず、例えば、学習サービス提供システム１と学習依頼システム２とを一体のものとして構成してもよい。
【００１９】
図１に示すように、学習サービス提供システム１は、学習結果データベース１１と、学習依頼受付装置１２と、一又は複数の学習装置１３と、学習管理システム１４とを有し、これらがローカルネットワークＮ１を介して互いに接続されている。また、学習依頼システム２は、学習データ準備装置２１と、学習依頼装置２２と、一又は複数の学習結果利用装置２３とを有し、これらがローカルネットワークＮ２を介して互いに接続されている。また、学習データ準備装置２１と学習結果利用装置２３には、それぞれ学習データ入力装置２４が接続されている。
【００２０】
なお、以下の説明では、学習サービス提供システム１及び学習依頼システム２に含まれる各装置はＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やサーバ装置などのコンピュータによって構成されるものとして説明するが、これに限定されず、例えば、プロセッサを用いた任意の組込装置によって実現されてもよい。また、各装置において実装される機能はソフトウェアによって実現される構成に限定されない。各装置に含まれる任意の機能は、ハードウェアによって実現される構成でもよい。例えば後述するニューラルネットワーク１３２、２３３はカスタムＬＳＩ（Ｌａｒｇｅ-Ｓｃａｌｅ Ｉｎｔｅｇｒａｔｉｏｎ）やＦＰＧＡ（Ｆｉｅｌｄ-Ｐｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ）等の電子回路によって構成されてもよい。さらに、各装置の一部は、物理的な鍵やＤＮＡのような生化学的な方法、ホログラムなど光学的な方法による識別手段によって実現される構成でもよい。
【００２１】
図２は、図１に示したシステムによる、学習サービスの流れを概念的に示す図である。学習依頼システム２は、ネットワークＮ０を介して学習サービス提供システム１にアクセスし、学習結果利用装置２３に追加する能力の機械学習を依頼する。機械学習を行うために必要な情報（以下、「学習依頼情報」ともいう。）は、学習依頼装置２２から学習サービス提供システム１の学習依頼受付装置１２へ提供される（Ｓ１）。学習依頼情報には、例えば学習の目標や、学習結果を利用する装置を識別する情報、学習データ等が含まれる。
【００２２】
学習依頼情報は、学習依頼受付装置１２から学習装置１３へと送信される（Ｓ２）。学習装置１３では、学習依頼情報に基づいて、学習を行い、学習結果として新たな能力を獲得する。学習結果は、複製可能なパッケージ化されたデータに変換される（Ｓ３。以下、単に「学習結果」ともいう。）。データ化された学習結果は、学習装置１３から学習結果データベース１１へ送信され、種々の利用者から検索可能な形式で管理される（Ｓ４。詳細については後述する。）。なお、種々の利用者とは、学習プログラムの作成者や、学習結果の提供者、学習の成果を利用する利用者、その他学習結果にかかわる人を含む。さらに、学習結果は、学習依頼システム２の学習結果利用装置２３へと送信され、学習結果利用装置２３において、学習結果が利用されることによって、能力が発揮される（Ｓ５）。
【００２３】
＜２．機能＞
＜２−１．学習依頼システム２＞
次に、図３乃至図５を参照して学習依頼システム２の機能について説明する。なお、学習依頼システム２は、以下に説明する構成に限定されず、例えば単一の装置により構築される構成でもよい。
【００２４】
まず、学習データ入力装置２４は、学習結果利用装置２３の、後述するニューラルネットワーク２３３の入力データとなる対象に関する情報や、学習データ準備装置２１の入力データとなるデータを取得する。例えば学習データ入力装置２４は、カメラやセンサ、ネットワーク端末、自走型ロボットのセンサなど任意の入力装置を用いることができる。
【００２５】
図３は、本実施形態における学習データ準備装置２１の機能ブロック図である。学習データ準備装置２１は、学習モジュール（例えば後述するニューラルネットワーク２３３）が学習するために必要なデータ（学習データ）を準備する機能を有する。図３に示すように、学習データ準備装置２１は、機能部として、操作部２１１と、学習データ取得部２１２と、学習データ記憶部２１３と、データ取得制御部２１４とを有している。
【００２６】
例えば、操作部２１１は、学習依頼システム２の利用者（以下、「依頼者」ともいう。）からの操作を受け付ける。学習データ取得部２１２は、学習データ入力装置２４から学習データを作成するために必要なデータを取得し、学習データ記憶部２１３に記憶する。データ取得制御部２１４は、操作部２１１や学習データ取得部２１２、学習データ記憶部２１３を制御して、学習に必要なデータを準備する。通信部２１６は、学習依頼システム２のローカルネットワークと接続し、データ取得制御部２１４が作成した学習に必要なデータを他の装置に送信する。
【００２７】
なお、学習データ準備装置２１は後述する学習結果利用装置２３と同一の装置を用いて構築する構成でもよい。この場合、学習データ準備装置２１は、学習結果利用装置２３に外部接続される入力装置として構築することも可能である。
【００２８】
図４は、本実施形態における学習依頼装置２２の機能ブロック図である。学習依頼装置２２は、学習依頼情報を学習サービス提供システム１に送信する機能を有する。図４に示すように、学習依頼装置２２は、学習依頼部２２１と、学習依頼内容記憶部２２２と、学習データ記憶部２２３と、通信部２２４とを有している。
【００２９】
学習依頼部２２１は、依頼者から学習依頼を受け付け、学習依頼情報を作成し、通信部２２４を介して学習依頼情報を学習サービス提供システム１へと送信する。このとき送信される学習依頼情報は、学習依頼内容記憶部２２２に記憶される。また、学習データ準備装置２１から送信される学習データは、学習データ記憶部２２３に記憶される。
【００３０】
さらに、学習依頼装置２２は、学習結果に付与されている識別情報（詳細については後述する）を参照し、入力された学習結果が利用目的に適合するか否かを判定してもよい。学習結果が利用目的に適合する場合には、学習依頼装置２２は、学習結果を学習結果利用装置２３に組み込み、学習結果を利用させる。他方で、学習結果が利用目的に適合しない場合には、学習依頼装置２２は学習サービス提供システム１に対して不適合を通知することができる。このとき、学習依頼装置２２は、条件を変えて再度学習を依頼してもよい。
【００３１】
図５は、本実施形態における学習結果利用装置２３の機能ブロック図である。学習結果利用装置２３は、学習結果を利用して新たな能力をユーザに提供する機能を有する。図５に示すように、学習結果利用装置２３は、機能部として、学習結果入力部２３１と、ニューラルネットワーク設定部２３２と、ニューラルネットワーク２３３と、制御部２３４と、入力部２３５と、通信部２３６と、データ取得部２３７と、出力部２３８とを有している。
【００３２】
学習結果入力部２３１は、学習結果の入力を受け付ける。このとき、ニューラルネットワーク設定部２３２が利用目的に応じた設定をニューラルネットワーク２３３に対して行う。さらに制御部２３４は、データ取得部２３７及び入力部２３５を制御して学習結果の利用に必要なデータをニューラルネットワーク２３３に入力し、学習結果の利用を行う。なお、学習結果を利用した結果は、通信部２３６を介して出力部２３８より出力される。
【００３３】
＜２−２．学習サービス提供システム１＞
図６乃至図１０を参照して学習サービス提供システム１の機能について説明する。なお、学習サービス提供システム１は、データセンターやクラウドを用いて実装することが可能である。この場合、学習サービス提供システム１の各装置は、ＰＣサーバやブレードＰＣを用いて構築することができる。学習サービス提供システム１の各装置を複数のＰＣで構築することで、深層学習等の繰り返し演算を実行する場合に処理時間を短縮することができる。なお、学習サービス提供システム１は、１台のＰＣで構築される構成や、組み込み装置によって実装される構成でもよい。
【００３４】
図６は、本実施形態における学習結果データベース１１の構成を示すブロック図である。学習結果データベース１１は、学習を行うときに必要となる様々な情報を格納する。学習結果データベース１１は、個々の学習結果を識別する機能と、学習結果を所定の検索条件に基づいて抽出する機能と、抽出された学習結果について、詳細な情報を出力して提示する機能とを有していてもよい。
【００３５】
図６に示すように、学習結果データベース１１は、学習データＤＢ１１１と、学習依頼ＤＢ１１２と、学習結果利用情報ＤＢ１１３と、バージョン管理ＤＢ１１４と、学習プログラムＤＢ１１５と、要因情報ＤＢ１１６とを有している。
【００３６】
学習データＤＢ１１１は、学習に用いる学習データを格納する。例えば学習データＤＢ１１１は、学習データに、学習データの対象や、学習データの内訳、学習データの範囲、学習の目的など学習の要件を関連づけて格納することができる。
【００３７】
学習依頼ＤＢ１１２は、学習依頼情報と、当該学習依頼情報を学習依頼装置２２から受け付けた場合に実施する学習の内容を格納する。例えば学習依頼ＤＢ１１２は、学習依頼情報に、学習依頼者に関する情報、学習データの対象や、学習データの内訳、学習データの範囲、学習の目的など学習の依頼要件を関連づけて格納することができる。
【００３８】
学習結果利用情報ＤＢ１１３は、学習結果の成果や利用履歴に関する情報を格納する。例えば学習結果利用情報ＤＢ１１３は、学習結果として分類能力が獲得された場合には、獲得した分類能力を利用して、分類を行った結果に関する情報を格納できる。さらに学習結果利用情報ＤＢ１１３は、学習結果の利用者に関する情報や、学習データの対象、学習データの内訳、学習データの範囲、学習の目的など学習の利用に関連づけて、学習結果の利用に関連する情報を格納することができる。さらに学習結果利用情報ＤＢ１１３は、利用識別情報を含むことが好ましい。利用識別情報は、学習結果の利用や成果を識別できる情報であり、例えば利用する装置のＩＤや能力に影響を与える設定（後述の基本要因や影響要因等）に関する情報を含む。獲得した能力は、利用される装置や利用される環境に応じて変化する場合があるため、学習利用履歴ＤＢ１３３が利用識別情報を含むことにより、より詳細に利用履歴を記録することができる。
【００３９】
バージョン管理ＤＢ１１４は、学習により獲得した能力のバリエーションに関連する情報を格納する。例えばバージョン管理ＤＢ１１４は、学習結果ごとに能力のバリエーションに関連する情報を格納することができる。バージョン管理ＤＢ１１４に格納される情報には、後述する学習結果及び学習成果の識別情報が含まれる。すなわち、バージョン管理ＤＢは、学習結果及び学習成果を識別可能な情報を格納する記憶部として機能する。
【００４０】
学習プログラムＤＢ１１５は、学習を行うための学習プログラムを格納する。例えば学習プログラムＤＢ１１５は、学習の対象や、学習データの内容、学習の目標など学習の要件に関連づけて、学習プログラムを格納することができる。なお、学習プログラムＤＢ１１５には多数の学習プログラムを登録できることが好ましい。この場合、後述する学習装置１３は、学習の要件を指定することで、学習プログラムＤＢ１１５から学習プログラムを特定して、実行可能にすることができる。
【００４１】
要因情報ＤＢ１１６は、学習の結果として得られる学習結果や能力に影響を与える要因に関する情報を格納する。要因情報ＤＢ１１６に格納される情報は階層的に管理され、ツリー状の構成を持つ。本実施形態においては、要因は基本要因と影響要因とに大きく分類される。基本要因は学習結果を上位の階層で識別するために用いられる要因である。他方で、影響要因は基本要因以外で学習結果に影響を与える要因である。要因情報ＤＢ１１６においては、格納された各要因に識別用のＩＤ情報が付与されており、相互に識別することが可能である。
【００４２】
図７Ａ、図７Ｂを参照して、要因情報ＤＢ１１６に格納される要因に関する情報の一例について説明する。なお、本実施形態においては、要因を基本要因と影響要因とに分類して識別情報を管理する例について説明する。ここでは、基本要因は、使用開始前に学習結果をグループ化することのできる要因であり、影響要因は、使用開始後に学習結果の識別に影響を与える要因であるものとして説明する。しかしながら、要因の分類方法はこれに限定されず、他の観点で要因を分類してもよい。また、分類の数も２つに限定されず、３つ以上に分類してもよいし１つにまとめて管理してもよい。
【００４３】
図７Ａは、基本要因と基本要因に割り当てられるＩＤの種別の対応関係の一例を示す表である。基本要因は、上記のとおり、使用開始前に学習結果をグループ化することのできる要因である。
【００４４】
学習は所定の能力を獲得するために行われるものであるため、獲得能力によって識別できる。従って獲得能力の種類にＩＤが付与されて管理されている。また、学習は学習依頼者の依頼に基づいて行われ、学習依頼ごとに異なる学習が行われることになる。従って学習依頼者（依頼者ＩＤ）によっても学習結果を識別することが可能である。さらに、すべての学習は学習データに基づいて行われており、学習データの対象によって学習結果を識別することが可能である。学習データの対象は入力データの取得元や、取得期間によって特定できるため、これらの要因にもＩＤ（入力データＩＤ、取得期間ＩＤ）が付与され基本要因として管理される。
【００４５】
また、獲得した能力が同じ（獲得能力ＩＤが同一）であっても、能力が利用される装置の仕様や利用環境などの影響で学習結果が変化する場合がある。従って利用する装置や利用する対象にも利用装置ＩＤや対象ＩＤが付与され、基本要因として管理される。なお、基本要因は図７Ａに示したものに限定されず、図７Ａの基本要因の一部を選択的に使ってもよいし、学習結果をグループ化できれば他の要因が含まれていてもよい。
【００４６】
図７Ｂは、影響要因の相互関係の一例を示す図である。影響要因は、使用開始後に学習結果の識別に影響を与える要因であり、例えば過去の学習において、設定されたパラメータや条件等に基づいて要因情報ＤＢ１１６に追加して登録される。図７Ｂに示すように、影響要因はツリー構造となる相互関係を有していることが好ましい。なお、図７Ｂには図示を省略しているが、各影響要因には識別可能なＩＤが付与されている。また、各影響要因に付与されるＩＤは、階層構造が把握可能なように付与されていることが好ましい。
【００４７】
図７Ｂに示すように、影響要因の最上位の階層は、一例として外部インタフェース、学習データ、所属関連情報、学習の時期、学習の目標、学習装置、学習の方法、能力のテストから構成されている。
【００４８】
外部インタフェースは、例えば入力データの種類や出力データの種類等、学習プログラムと外部とのインタフェースに関連する要因である。
【００４９】
また、学習データは、学習に使用されるデータに関する要因である。要因情報ＤＢ１１６において、学習データにＩＤを付与して管理することで、学習データの詳細を秘匿して管理することができる。
【００５０】
所属関連情報は、学習プログラム等の所属に関する情報に基づく要因である。なお、所属関連情報のそれぞれに権利関係がある場合には、所属関連情報の下位の要因として、要因情報ＤＢ１１６において管理されることが好ましい。
【００５１】
学習の時期は、学習がいつ行われたかに基づく要因である。また、学習の目標は、学習ごとに設定された多様な目標に基づく要因である。
【００５２】
学習装置は、学習が行われる装置に基づく要因である、なお、学習がクラウド上で行われる場合には、装置の機種の代わりに、クラウドの運営会社の名称やネットワークアドレスを、学習装置の下位の要因として用いることができる。
【００５３】
学習の方法は、学習が行われる方法に基づく要因である。なお、図７Ｂには示さないが、学習の方法の下位の要因であるニューラルネットワークの構成はさらに下位の要因として、例えば、深層学習以前からあるＳＶＭ、回帰モデルなどの手法や、ディープビリーフネットワーク、ディープボルツマンマシン、積層自己符号化器、オートエンコーダ、制限ボルツマンマシン（ＲＢＭ）、ドロップアウト、スパースコーティング、正則化、雑音除去自己符号化器、活性化関数の種類、シグモイド関数、ソフトサイン、ソフトプラス、Ｒｅｌｕ、乱数系列の種類など、具体的な学習手法を有していることが好ましい。また、ニューラルネットワークの構成の設定の下位の要因には、ハイパーパラメータ、入力層の構成、層の数、隠れ層のユニット数、各層の内容（ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ)、ＲＮＮ（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ)、Ｅｌｍａｎ  ｎｅｔｗｏｒｋ、Ｊｏｒｄａｎ  ｎｅｔｗｏｒｋ、ＥＳＮ（Ｅｃｈｏ  ｓｔａｔｅ  ｎｅｔｗｏｒｋ)、ＬＳＴＭ（Ｌｏｎｇ  ｓｈｏｒｔ  ｔｅｒｍ  ｍｅｍｏｒｙ  ｎｅｔｗｏｒｋ)、ＢＲＮＮ（Ｂｉ-ｄｉｒｅｃｔｉｏｎａｌ  ＲＮＮ）等、具体的なニューラルネットワークの設定に関する情報が含まれることが好ましい。
【００５４】
能力のテストは、学習結果が満たすべきテスト要件に基づく要因である。能力のテストが行われることにより、学習結果は、その要件を満たすように変更されるという影響を受けるため、能力のテストも影響要因の一つとして管理される。
【００５５】
なお、例えば深層学習など、乱数を用いる学習手法においては、学習を実施するごとに、獲得した能力に少しずつ差異が生じる場合がある。このような場合には、学習開始時刻や学習終了時刻と学習装置のＩＤを影響要因として識別ＩＤを付与して管理することが好ましい。
【００５６】
また、影響要因のうち、複数の項目は同等であると見なせるケースがあり得る。その場合、複数の要因の種別をグループ化して同じ識別ＩＤを付与するようにしてもよい。さらに影響要因は上記に限定されない。学習の対象と目的や環境に応じて、さまざまな影響要因が発生する。
【００５７】
本実施形態に係る学習結果データベース１１が、上述の構成を備えることで、異なる学習結果をそれぞれ識別して管理することが可能となり、それにより、学習サービス提供システム１において、学習結果の同一性を判定することができる。なお、学習結果データベース１１が有する各ＤＢはそれぞれローカルネットワークなどのネットワークを介して、学習依頼受付装置１２、学習装置１３、学習管理装置１４０等から利用することができる。なお、学習結果データベース１１の検索処理の詳細については後述する。
【００５８】
図８は、本実施形態における学習依頼受付装置１２の機能ブロック図である。学習依頼受付装置１２は、学習依頼装置２２から学習依頼情報を受け付け、当該学習依頼情報を学習装置１３に送信する機能を有する。図８に示すように、学習依頼受付装置１２は、例えば、学習依頼受付部１２１と、学習データ記憶部１２３と、学習依頼内容記憶部１２４と、通信部１２５とを含んで構成される。
【００５９】
学習依頼受付部１２１は、学習依頼装置２２から学習依頼を受け付ける。学習依頼受付部１２１は受け付けた学習依頼に含まれる学習依頼情報を、学習依頼ＤＢ１１２に登録する。このとき学習依頼受付部１２１は、通信部１２５を介して、学習依頼を受け付けた旨の通知を学習管理装置１４０に送信する。また、学習依頼受付装置１２は、受け付けた学習依頼を学習データ記憶部１２３や、学習依頼内容記憶部１２４に一時的に保存しておくことができる。
【００６０】
図９は、本実施形態における学習装置１３の機能ブロック図である。学習装置１３は、学習依頼情報に基づいて学習を行い、学習結果として新たな能力を獲得する機能を有する。図９に示すように、学習装置１３は、機能部として、学習制御部１３１と、ニューラルネットワーク１３２と、学習結果抽出部１３３と、通信部１３４と、学習結果出力部１３５とを有している。
【００６１】
学習装置１３においては、学習制御部１３１がニューラルネットワーク１３２を制御して、学習依頼情報に基づいて学習を行うことができる。学習結果は学習結果抽出部１３３によって抽出され、通信部１３４を介して、学習結果出力部１３５によって出力される。  
【００６２】
学習装置１３において、複数回学習が行われると、複数の学習結果が得られる。それぞれの学習において、学習データ、学習プログラム、学習時間、学習の目標など、学習結果に影響を与える要件が相違すると、複数の学習結果によって得られる能力は同一ではない可能性がある。詳細については後述するが、本実施形態に係る学習サービス提供システム１においては、複数の学習結果によって得られる能力が同一ではない可能性がある場合には異なる識別情報を付与してバリエーションとして管理することができる。
【００６３】
なお、学習装置１３は、自身が、学習依頼を行うことも可能である。この場合には、学習装置１３は、自律的な学習が可能となる。
【００６４】
図１０は、学習管理システム１４の構成を示す概略図である。図１０に示すように、学習管理システム１４は、学習管理装置１４０と、学習識別情報生成装置１５と、学習結果識別情報生成装置１６と、学習結果利用環境情報生成装置１７とを有し、これらがローカルネットワークを介して互いに接続されている。
【００６５】
学習管理装置１４０は、学習結果とその成果の管理を行う。学習サービスを提供する学習サービス提供システム１において、学習サービス提供システム１内のすべての学習結果とそれによってもたらされる学習成果を個別に管理することが望ましい。従って、学習サービス提供システム１の内部では、すべての学習結果とその成果は、学習管理装置１４０によって相互に識別できるように管理される。例えば影響要因のいずれかが異なる条件で学習を行うと、それぞれの学習結果は相違する可能性がある。すなわち、影響要因の構成が変わることで、学習結果は異なる影響を受けるため、学習結果には多くのバリエーションが発生する。また、同じ学習結果であっても異なる装置や環境で利用すれば、もたらされる成果は異なり得る。学習管理装置１４０は、学習結果とその成果を管理するために、バリエーションを識別する。
【００６６】
図１０に示すように、学習管理装置１４０は、学習情報取得部１４１と、学習制御部１４２と、要因情報取得部１４３と、識別範囲設定部１４４と、影響判定部１４５と、通信部１４７と、を有している。
【００６７】
学習情報取得部１４１は、通信部１４７を介して学習依頼情報を取得する。
【００６８】
学習制御部１４２は、学習依頼情報に基づいて、学習を行う学習装置１３と学習プログラムとを選択し、学習を指示する。さらに、学習制御部１４２は、学習がなされたことによって所定の能力を獲得した学習結果に対して、学習識別情報生成装置１５によって生成された第１情報と、学習結果識別情報生成装置１６によって生成された第２情報とを含む識別情報を付与する機能を有する。また、学習制御部１４２は、学習結果によってもたらされる成果に対して、第１情報と第２情報とを含む識別情報に紐付けて、学習結果利用環境情報生成装置１７によって生成された第３情報を含む情報を付与する機能を有する。すなわち、学習制御部１４２は、学習結果に対して、学習を識別可能な第１情報と、学習結果を識別可能な第２情報と、学習成果を識別可能な第３情報とを含む識別情報を生成する生成部として機能し、これにより、学習結果によってもたらされる成果を相互に識別できるようになる。ここで、学習結果に識別情報を付与するとは、学習結果と識別情報とを対応付けることを含む概念であり、例えば、学習結果のデータに識別情報を付加することや、記憶装置に学習結果と識別情報を対応付けて記憶することを含む。また、学習結果と識別情報を直接対応付けることに加え、これらを間接的に対応付けることも含む。例えば、学習結果に対して、当該学習結果そのものを識別するための識別子（例えばシリアル番号）を対応付けた上で、識別子と識別情報とを対応付ける場合も、学習結果に識別情報を付与することに含まれる。
【００６９】
要因情報取得部１４３は、要因情報ＤＢ１１６から学習結果に影響を与える可能性がある要因のリストを取得する。例えば要因情報取得部１４３は、図７Ｂに示した影響要因のツリー構造に対応する情報（以下、「影響要因のリスト」ともいう。）を取得することができる。
【００７０】
識別範囲設定部１４４は、バリエーションの識別が必要となる範囲（識別範囲）を設定する。識別範囲を特定することは、学習結果や学習成果をグループ化することに相当する。学習結果や学習成果のバリエーションは、識別を行う必要のある範囲において識別できればよい。すなわち、識別範囲が相違する場合には、異なる識別範囲間において、学習結果や学習成果は相互に識別できなくてもよい。例えば、学習依頼者が異なる場合には、バリエーションを相互に識別できなくても問題にならない場合がある。具体的には、ある学習依頼者は、自身が依頼した範囲で識別できればよく、他者の学習結果や学習成果との間でバリエーションが一意に識別される必要はない。例えば識別範囲設定部１４４は識別範囲のリストを用いて識別範囲を設定することができる。
【００７１】
図１１は、識別範囲のリストの一例を示す図である。図１１に示すように識別範囲は、例えば階層的に構成され、下位の識別範囲は上位の識別範囲に対して包含関係となるようにできる。具体的には、全ての識別範囲を含む集合は、全体のトップレベル（以下、「第１層」という。）の識別範囲となる。第１層の識別範囲では、全ての学習結果や学習成果が相互に識別できる必要がある。例えば、学習サービス提供者の全ての学習結果や学習成果を識別する必要がある場合には、識別範囲設定部１４４は、第１層の識別範囲を設定する。
【００７２】
図１１の例では、第１層の下の第２層の識別範囲は、学習依頼者や応用分野によって規定される集合である。識別範囲設定部１４４によって学習依頼者ごと（第２階層）に識別範囲が設定された場合には、学習結果や学習成果は学習依頼者ごとに識別可能な識別情報が学習識別情報生成装置１５、学習結果識別情報生成装置１６及び学習結果利用環境情報生成装置１７によって生成される。さらに第２階層の下の第３層の識別範囲は、例えば会社（図１１の場合には、Ａ社、Ｂ社、Ｃ社）や応用分野の種類（図１１の場合には、工業分野、商業分野、農業分野）ごとに規定することができる。この場合、会社ごと（第３階層）に識別範囲が設定された場合には、会社ごとに識別可能な識別情報が生成されることになる。また、例えばある会社（Ａ社）が複数の工場を保有しており、さらに工場や、工場のラインごとに異なる対象に関する学習を行っている場合には、識別範囲設定部１４４は、Ａ社の工場ごと（第４層）やそのライン（第５層）ごとに識別範囲を設定してもよい。なお、この場合において、識別範囲設定部１４４は、他の会社（Ｂ社やＣ社）に対して、Ａ社とは異なる要素に基づいて下位の識別範囲を設定してもよい。
【００７３】
識別範囲が階層構造を有することで、下位の識別範囲に対応する識別情報から上位の識別範囲に対応する識別情報を除くことができ、これによって識別情報の容量を減らすことができる。
【００７４】
なお、識別範囲設定部１４４が設定する識別範囲は上述の例に限定されず、任意に設定可能である。例えば、識別範囲は、基本要因や影響要因に基づいて設定されるものとしてもよい。この場合には、識別範囲のリストは、影響要因のリストに対応する構成を有してもよい。例えば影響要因のツリー構造は、それに対応する識別範囲の階層構造にも引き継がれることが好ましい。具体的には図７Ｂにおいて影響要因「外部インタフェース」によって分類される識別範囲が第３層の識別範囲であるとすると、外部インタフェースの下位に位置づけられた影響要因「入力データ」は、例えば第４層の識別範囲になる。このとき識別範囲設定部１４４は、学習依頼情報に含まれる影響要因が図７Ｂに示す影響要因のツリー構造のどの階層に属するかに基づいて、識別範囲を設定することができる。なお、識別範囲設定部１４４は、学習依頼情報に含まれる基本要因の組み合わせに応じて設定することも可能である。
【００７５】
さらに、識別範囲設定部１４４が識別範囲を設定する方法は、識別範囲のリストを用いる方法に限定されない。例えば、集合をクラスとして備えたプログラミング言語を用いることで、集合を直接扱うことができる。
【００７６】
影響判定部１４５は、要因情報取得部１４３が取得した影響要因のリストに基づいて、影響要因が学習結果に与える影響度を判定する。
【００７７】
例えば影響判定部１４５は、識別範囲ごとに作成された影響判定ロジックを用いて、基本要因や影響要因が学習結果に与える影響度を判定することができる。影響判定ロジックは、その識別範囲に含まれる学習プログラムに対して、基本要因や影響要因が与える影響について判定するロジックである。影響判定ロジックは、学習結果に影響を与える可能性のある要因（基本要因、影響要因）が入力として与えられた場合に、それぞれの要因ごとに学習結果への影響の有無を判定する。具体的には、影響判定ロジックは、学習プログラムごとに、学習結果に影響を与える要因（基本要因、影響要因）の感応度を計測し、当該要因が学習結果に影響を与えるものであるか否かを判定する。例えば、複数の要因に与えられる条件（例えば学習データや、学習依頼者のＩＤ、学習の目標等）を固定したまま、影響度を分析したい所定の一又は複数の要因に与えられる条件を変えて、学習結果にどの程度の差異が生じるかを見ることによって、当該一又は複数の要因が学習結果へ与える影響度を計測することができる。また、各要因について事前に感応度分析を行い、要因ごとに当該要因に与えられる条件が学習結果へ与える影響度を対応付けておくことにより、影響判定ロジックは当該対応付けを参照して影響度を判定してもよい。
【００７８】
影響判定ロジックにおいては、例えば特定の２つの学習において、完全に学習結果が一致する要因については影響を与えないとみなしてもよい。また、所定の条件で学習結果が近いと判定される要因についても、影響を与えないとみなしてもよい。
【００７９】
影響判定ロジックは、例えば学習プログラムの作成者によって作成される。ある識別範囲に含まれる学習プログラム全体に適用可能な影響判定ロジックを作成するのが困難な場合には、識別範囲を分割し、分割された識別範囲ごとに影響判定ロジックを作成することも可能である。
【００８０】
なお、影響判定ロジックの作成者は、学習ロジックの詳細を把握している者であれば学習ロジックの作成者に限定されない。影響判定ロジックを作成するには、学習ロジックの内部で乱数を用いられているか否かというような構成の内容や、入力されるデータの種類や数などに応じて所定の判定条件で、学習ロジックが切り替わる構成である場合にはその切り替え条件、学習方法に関する指定項目（ニューラルネットワークの構成や終了条件等）等、学習ロジックの詳細を知る必要がある。従って学習ロジックの詳細を把握している者であれば影響判定ロジックを作成できる。
【００８１】
他方で、影響判定ロジックに入力として与えられるデータは、学習ロジックの作成者では知り得ないものも含まれる。例えば、学習を行う際の学習データや、学習依頼者が指定する影響要因については、学習依頼者と学習ロジックの作成者が異なる場合には、学習ロジックの作成者は知ることができない。なお、学習依頼者が指定する影響要因として、一例として、以下の例が挙げられる。
・学習結果を利用する装置の機種、利用するセンサの機種
・獲得する分類能力の分類数
・言語処理能力で対象とする言語
【００８２】
影響判定部１４５は、学習プログラムの作成者では知り得ない上述のような情報を学習依頼情報から抽出し、学習プログラムの構成を知る者しか知り得ない影響判定ロジックに対してこのような情報を入力として与える。これによって、学習が行われたときに、基本要因や影響要因が学習結果に与える影響を判定することができ、学習結果のバリエーションを管理することができる。さらに、学習サービスの場合、学習依頼を受け付けたときの情報や、選択した学習プログラムの情報、選択した学習データの情報等、学習サービス提供システム１しか把握できない情報もある。これらの情報も、学習を実施するときに、影響判定部１４５によって、影響判定ロジックに入力されることが好ましい。
【００８３】
さらに影響判定ロジックは、学習データによる影響の判定に用いてもよい。多くの場合に、学習データの相違は学習結果に影響を与えるが、学習データは、学習を行うときに指定され、学習プログラムの作成者では学習データを指定できない場合がある。このような場合にも、用いられた学習データの内容に関する情報を取得できるようにすることで、学習データに応じて影響が有るか、無いかを判定するロジックを作成することができる。具体的には、学習データ準備装置２１が学習データを準備するときに、準備する学習データに関する情報を取得して、その識別ＩＤを記録することで、学習データに関する詳細な情報が記録できる。
【００８４】
なお、影響判定部１４５において、要因が学習結果に与える影響を判定する方法は、上述の例に限定されない。例えば、学習ツールとして所定の学習プログラムを使っているとき、影響判定部１４５は、当該プログラム内で利用方法や設定が変更されたことに基づいて影響の有無を判定してもよい。例えば、変更された設定に関する情報を学習データに追加することで、影響判定部１４５は、設定の変更を検知することができる。具体的には、センサの閾値を変更させた場合等には、変更前の閾値に加えて変更後の閾値に関する情報を追加することで、影響判定部１４５は、設定変更を検知することができる。さらに、ＩＤやタグなどの情報を追加することでも設定変更を検知することができる。
【００８５】
他方で、例えば、学習に関する設定や、学習データを全く変更せずに、２回学習を行った場合、２回行ったこと以外に影響要因の変更はない。しかし、学習プログラムが内部で乱数を使っている場合などに、同じ条件で複数回行った学習結果とで獲得された能力が異なる場合がある。このような場合には、影響判定ロジックは、学習回数が学習結果に影響を与えるとの判定を行う。これにより後述する学習識別情報生成装置１５、学習結果識別情報生成装置１６及び学習結果利用環境情報生成装置１７は、学習回数＝１回目と学習回数＝２回目のように識別情報を付与することができる。
【００８６】
さらに影響の有無を判定する方法は上記に限定されず、任意の方法を用いることができる。例えば、学習データの取得担当者が、学習データ準備装置２１のキーボードとマウス（操作部２１１）を操作して、識別のための情報を入力する構成でもよい。また、学習依頼装置２２からの学習依頼情報に含まれる情報を元に、依頼内容の差を把握して影響の有無を判定する構成でもよい。
【００８７】
図１０に戻って学習管理システム１４の構成の続きについて説明する。
学習識別情報生成装置１５は、学習結果が利用される範囲（例えば識別範囲設定部１４４が設定した識別範囲）に応じて学習のバリエーションを相互に識別可能なように識別情報（以下、「第１情報」ともいう。）を生成する。例えば学習識別情報生成装置１５は、学習結果に影響を与える要因に基づいて第１情報を当該学習に付与する。具体的には、学習識別情報生成装置１５は、学習依頼情報に対応する学習プログラムに基づいて、影響判定ロジックを選択する。次に学習識別情報生成装置１５は、識別範囲と、影響要因のリストとを、選択した影響判定ロジックに入力する。学習識別情報生成装置１５は、影響判定ロジックが、学習結果に影響を与えると判定した影響要因をすべて含むように、第１情報の元となるデータを生成する。さらに学習識別情報生成装置１５は、この第１情報の元となるデータを所定の方法で変換することで、学習の第１情報を生成する。
【００８８】
学習識別情報生成装置１５の処理について、より詳細に説明する。影響要因は、上述のとおりツリー構造を有している（図８Ｂ参照）。学習識別情報生成装置１５は、影響判定ロジックによって影響を与える影響要因と判定された影響要因を含まない分岐について、ツリー構造から削除する。この処理をツリー構造の上層から下層へと順次実行していき、ツリー（以下、「影響要因説明情報」ともいう。）を作成する。学習識別情報生成装置１５は、影響要因説明情報に含まれる影響要因のＩＤを上層から順次列挙していくことで得られたデータ列を、第１情報の元となるデータとすることができる。このときのデータ列は、例えば文字列でもよいしバイナリ形式でもよいし、ＸＭＬ形式でもよいし、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ(登録商標)  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）のような表現方法でもよい。なお、この手順で得られたデータ列は、所定の影響要因が学習結果に対する影響度の情報を含むことが好ましい。この場合、例えば、影響判定部１４５は、影響判定ロジックの出力に応じて、ツリー構造に影響度を記述しておき、学習識別情報生成装置１５は、影響度も合わせてデータ列に列挙することが好ましい。
【００８９】
学習識別情報生成装置１５は、データ列を、一覧表化、圧縮化、又は暗号化等、所定の方法で変換し、第１情報を生成する。なお、所定の方法とは、このとき元のデータ列が異なれば、異なる第１情報が生成される方法である。
【００９０】
一例として、このとき生成される第１情報は、「ｑｉｊｓｕｄｉ４８ｆｕｈｕ」「ｎｖｆｓｕｋｉ３ｆｊｎ４５ｉｐ」等の所定の文字列である。なおこの文字列はランダムに生成されてもよい。この場合、学習識別情報生成装置１５は、生成した文字列と元のデータ列とを一覧表で管理することで、異なる学習結果に同一の第１情報を割り当てることを防ぐことができる。ただし、第１情報の例は文字列に限定されず、データ列から情報量を減らせる任意の方法をとることができる。
【００９１】
なお学習識別情報生成装置１５は、上記以外の任意の方法で第１情報を生成することができる。例えば、オブジェクト指向言語でプログラムを作成し、要因情報を階層構造のクラスで定義して、クラスのインスタンスに対してマーキングした結果を、シリアライズして、データベースに登録することも可能である。
【００９２】
例えば深層学習など、乱数を用いる学習手法においては、上述のとおり学習を実施するごとに、獲得した能力に少しずつ差異が生じる場合がある。このような場合には、学習識別情報生成装置１５は、上述の手法により生成した第１情報に１回目の学習、２回目の学習のように回数を表す情報（派生識別情報）を付与してもよい。また、学習装置１３として多数のＰＣが用いられる場合、用いられたＰＣ名を組み合わせて第１情報を生成することができる（例えば、「Ｃ２１４５．３３回目の学習」等）。
【００９３】
なお、第１情報は基本要因や影響要因に応じて階層構成とすることも可能である。
【００９４】
学習結果識別情報生成装置１６は、学習がされた結果である学習結果を識別するための識別情報（以下、「第２情報」ともいう。）を生成する。学習結果は影響要因が同等であっても（すなわち、同一の第１情報が付与された学習がなされた場合であっても）異なる場合がある。このような場合には、影響要因が同じであったとしても、学習結果を用いた成果（学習成果）が異なる可能性がある。学習結果を利用する利用者は、学習成果に関心があるため、影響要因が同じであっても学習成果が異なる可能性がある場合には、別の学習結果として識別されることが好ましい。学習結果識別情報生成装置１６は、このような場合でも学習結果を識別できるように学習結果に対して第２情報を付与して識別する。
【００９５】
第２情報は、例えば、学習を識別する情報（どのような学習が行われたかを示す情報。例えば第１情報である。）や、学習の実施環境に関する情報（どこのどのような装置で学習がされたのかを示す情報）、学習結果を利用する装置に関する情報（どこでどのように利用されるかを示す情報）、学習結果が獲得した能力に関する情報（どのような能力が獲得されたかを示す情報）等を含んでもよい。
【００９６】
このような学習結果を識別する情報は、学習依頼に基づいて生成されることが好ましい。例えば学習依頼において、サイズの異なるロボットの制御に関する学習が依頼されている場合には、学習結果を識別する情報には、学習結果が利用されるロボットのサイズを示す情報が含まれることが好ましい。
【００９７】
なお第２情報には、さらに学習結果の内容を識別することが可能な情報を含めてもよい。すなわち、第２情報に、依頼者が依頼した内容に合致した学習結果であるか否かを判断することが可能な情報を含ませることができる。例えば、学習結果識別情報生成装置１６は、第２情報に基づいて、学習依頼ＤＢ１１２を参照して、学習結果の内容を識別するのに必要な、個別の影響要因に関する詳細な情報（例えば、学習データの識別子や、学習の目標値等）を検索し、第１情報及び第２情報と併せて依頼者に通知することができる。依頼者は通知された詳細な情報を参酌することで、学習結果の内容について識別を行うことができる。
【００９８】
学習結果利用環境情報生成装置１７は、学習結果の成果や利用状況に関する情報である利用識別情報（第３情報）を生成する。学習結果を学習結果利用装置２３において利用する場合には、学習結果の成果に関する情報の他、学習結果の複製や、当該複製の転送、学習結果の利用状況等の事項を管理することが好ましい。そのため、学習結果利用環境情報生成装置１７は、以下のような成果や利用状況等に関する情報を第２情報に紐づけて学習結果利用情報ＤＢ１１３に格納することが好ましい。
・学習によって獲得された能力
・学習結果の利用者
・学習結果を利用する装置
・学習結果が利用される場所
・学習結果の利用目的
・学習結果の利用対象
・学習結果の組み合わせ
・学習結果の分割
・学習結果の利用履歴
【００９９】
学習結果利用情報ＤＢ１１３において、上記の情報を記録可能なデータに変換して、時系列で記録する。このとき、成果や利用状況を識別する利用識別情報を、上述の学習や学習結果の識別情報と同様の方法で生成し記録することが好ましい。
【０１００】
＜３．データ構造＞
図１２を参照して、学習結果利用情報ＤＢ１１３に格納される学習に関する情報の構成の一例について説明する。学習結果利用情報ＤＢ１１３には、図１２に示すように、学習に関する情報がツリー構造で保存されている。具体的には、学習の識別子（第１情報）ＩＤ１に、複数の学習結果の識別子（第２情報）ＩＤ２が紐づけられており、さらに複数の学習結果の識別子ＩＤ２のそれぞれには、成果や利用状況に関する利用識別情報（第３情報）が紐づけられている。このように学習結果利用情報ＤＢ１１３において、学習に関する情報がツリー構造で保存されることにより、記憶容量を低減させることができる。
【０１０１】
＜４．検索処理＞
学習結果データベース１１の検索機能について説明する。学習結果データベース１１の利用者としては、一例として以下の者が想定される。
・学習フレームワークの作成者
・学習プログラムの作成者
・学習の管理者
・学習データの管理者
・学習結果の管理者
・学習結果利用装置２３の開発者
・学習結果利用装置２３の管理者
・学習結果利用装置２３の利用者
【０１０２】
上記の利用者は、それぞれ異なる利用形態で学習結果データベース１１を利用する場合がある。例えば、学習フレームワークの作成者は、学習結果に学習時の詳細な情報を関連付けるために利用する。また、学習プログラムの作成者は、学習プログラムの詳細について記録するために利用する。また、学習の管理者は、学習を管理するための詳細な情報を記録するために利用する。また、学習データの管理者は、どこでどのように利用する学習データであるか詳細な情報を関連付けて管理するために利用する。また、学習結果の管理者は、学習結果がどのような経緯で得られたものか、詳細な情報を用いて管理するために利用する。
【０１０３】
さらに、学習結果利用装置２３の開発者は、学習結果利用装置２３において提供する、学習結果を利用するためのデータベース機能に、学習結果データベース１１の機能を組み込む場合がある。また、学習結果利用装置２３の管理者は、学習結果利用装置２３に組み込まれた学習結果の内容を詳細に把握して管理を行う場合がある。さらに、学習結果利用装置２３の利用者は、利用する学習結果が同のような学習の結果として得られたものであるか、またその学習結果が有用なものであるか、学習結果の内容を把握して利用する場合がある。
【０１０４】
本実施形態に係る学習結果データベース１１は、任意な形状に構成可能なツリー構造によって学習に関する情報を管理するため、上記の様々な利用形態に対応することができる。
【０１０５】
例えば、利用者は、学習結果データベース１１において、影響要因を組み合わせて検索することができる。また、例えば利用者は、上記の第１情報や第２情報、利用環境に関する情報等を任意に組み合わせて検索することができる。学習結果データベース１１は、このような検索に対して、検索結果をリストや集合で出力することができる。さらに学習結果データベース１１は、検索結果のリストや集合に対して、和、積、否定などの各種論理演算を行い、出力する構成でもよい。さらに学習結果データベース１１は、個々の事柄毎に詳細情報を階層的に詳細化して出力することも可能である。また、学習結果データベース１１は、検索結果のサマリや、検索結果に基づく統計データを出力する構成でもよい。これによって、学習結果データベース１１の利用者は、例えばロボット制御用の学習結果を検索する際に、自社の工場と類似する環境において、高い成果を示した学習結果を検索したり、当該学習結果がどのような学習によるものなのかを検索することができる。
【０１０６】
＜５．識別情報の利用＞
次に、学習結果の識別情報の利用例について説明する。
学習結果の識別情報を用いることで、依頼者は、獲得した能力のバリエーションを相互に識別することができる。すなわち、学習結果を対比して、目的に対する適合度を比較でき、また対象ごとに、適切なバリエーションを選択することができる。
【０１０７】
また、学習結果を識別できることにより、学習結果を利用している装置と、利用されている学習結果との対応関係や、利用している学習結果と対象との対応関係、学習結果により獲得した能力の所属、学習結果の複製に対して学習結果をもたらした要因の所属等をそれぞれ識別して管理することができる。さらに学習結果を識別できることにより、獲得した能力の利用履歴、獲得した能力が存在する場所、獲得した能力のアウトプット等を管理可能になる。
【０１０８】
本発明の具体的な利用で生成される識別情報とその利用方法の具体例について説明する。なお、以下の利用例では、理解を容易にするため、影響判定ロジックを用いて影響要因のリストから得られた上述のデータ列に対して、学習識別情報生成装置１５、学習結果識別情報生成装置１６及び学習結果利用環境情報生成装置１７は暗号化等を行わない例を示す。この場合でも、利用者ごとに異なる暗号キーを用いることで、識別情報の内容が他者にわからないようにできる。また、下記に挙げる例は任意に組み合わせることができる。
【０１０９】
（利用例Ａ）：１つの影響要因が異なる例
・利用例Ａ−１：対象が異なる例
同じ学習依頼者のなかで、対象が異なる場合、それぞれの学習結果に異なる学習結果識別情報が付与される。例えば、「対象装置=ＳＸ９１００.ｊｄｓｊｈｆｓｄ」や「対象装置=ＳＸ９２００.ｄｊｓｆｈｓｊｆｋ」のような識別情報が付与される。
他方で、同じ対象装置で対象とするセンサ等が異なる場合は、「対象センサ＝グループａ７４.ｊｈｓｊｈｕｏ」や「対象センサ＝グループａ９０.ｊｓｄｆｈｊｋｇ」のような識別情報が付与される（ただし、対象装置はＳＸ９１００で共通、識別範囲はＳＸ９１００の場合の例である。）。
【０１１０】
・利用例Ａ−２：複数回学習したときの例（ただし、対象装置の識別が必要な場合）
この場合には、「対象装置＝ＳＸ９１００．１回目の学習」や、「対象装置＝ＳＸ９１００．２回目の学習」、「対象装置＝ＳＸ９１００．学習終了時刻＝２０１６０７０７１２３５２１」、「対象装置＝ＳＸ９１００．学習終了時刻＝２０１６０７０８１１４３３５」のような識別情報が付与される。
【０１１１】
・利用例Ａ−３：学習データが異なる例
この場合には、「対象装置＝ＳＸ９１００．学習データ＝０００００１〜０１９９９９」や「対象装置＝ＳＸ９１００．学習データ＝０２００００〜０２９９９９」、「対象装置＝ＳＸ９１００．学習データ＝２０１５年４月分」、「対象装置＝ＳＸ９１００．学習データ＝２０１５年５月分」のような識別情報が付与される。
【０１１２】
・利用例Ａ−４：学習プログラムが異なる例
この場合には、「学習プログラム＝ＤＱ２９３９.対象装置＝ＳＸ９１００」や「学習プログラム＝ＤＱ３２００．対象装置＝ＳＸ９１００」のような識別情報が付与される。
【０１１３】
・利用例Ａ−５：依頼者が異なる例
例えば依頼部門が異なる場合には、「対象装置＝ＳＸ９１００．依頼部門＝第１工務課」や「対象装置＝ＳＸ９１００.依頼部門＝第２工務課」のような識別情報が付与される。
【０１１４】
（利用例Ｂ）：複数の影響要因が異なる例
例えば基本要因である依頼者と対象と学習データが異なる例には、「対象装置＝ＳＸ９１００．依頼部門＝第１工務課．学習データ＝２０１５年４月分」や「対象装置＝ＳＸ９２００．依頼部門＝第１技術課．学習データ＝２０１６年７月分」のような識別情報が付与される。
【０１１５】
（利用例Ｃ）：識別情報が利用される範囲が違う例
例えば学習サービス提供者内での識別情報は、「学習依頼者＝Ａ社．対象装置＝ＳＸ９１００．学習プログラムＤＱ２９３９．学習データ＝０２００００〜０２９９９９」であり、「学習依頼者＝Ｂ社．対象装置＝ＪＱＲ９３９４００．学習プログラムＤＱ２９３９．学習データ＝２０１６年７月分」のように異なる依頼者間で区別される。この場合、利用者に提供される識別情報は、学習依頼者に関する識別情報を除くことで、次のような識別情報が得られる。
・学習依頼者Ａ社に提供される識別情報：「対象装置＝ＳＸ９１００．学習プログラムＤ
Ｑ２９３９．学習データ＝０２００００〜０２９９９９」
・学習依頼者Ｂ社に提供される識別情報：「対象装置＝ＪＱＲ９３９４００．学習プログ
ラムＤＱ２９３９．学習データ＝２０１６年７月分」
【０１１６】
＜６．システムフロー＞
次に図１３及び図１４を参照して本実施形態に係るシステムの処理フローについて説明する。図１３は学習依頼システム２における処理フローを示すフローチャートである。
【０１１７】
まず、依頼者は学習データ準備装置２１を用いて、学習データの準備を行う（Ｓ１０１）。次に、依頼者は学習依頼装置２２を用いて学習依頼情報を入力する（Ｓ１０２）。さらに依頼者は学習依頼装置２２から学習サービス提供システム１に、学習を依頼する（Ｓ１０３）。学習サービス提供システム１において学習が実施されると、学習依頼装置２２は、学習サービス提供システム１から学習結果を受け取り（Ｓ１０４）、受け取った学習結果を保管する（Ｓ１０５）。
【０１１８】
学習依頼装置２２は、学習結果利用装置２３において学習結果を利用する際に、保管された学習結果から、適切な学習結果を選択する（Ｓ１０６）。学習依頼装置２２は、このとき学習結果の識別情報を参照し、選択した学習結果が利用目的に適合するか否かを判定する（Ｓ１０８）。利用目的に適合する場合（Ｓ１０８：Ｙｅｓ）には、学習結果を学習結果利用装置２３に組み込み（Ｓ１０９）、学習結果利用装置２３において学習結果を利用する（Ｓ１１０）。
【０１１９】
他方で、Ｓ１０８において選択した学習結果が利用目的に適合しない場合（Ｓ１０８：Ｎｏ）には、不適合通知を行い（Ｓ１１９）、必要に応じて条件を変えて再度学習を行う（Ｓ１２０）。
【０１２０】
次に、学習サービス提供システム１の処理フローについて説明する。図１４は、学習サービス提供システム１における処理フローを示すフローチャートである。
【０１２１】
まず、学習依頼受付装置１２が、学習依頼装置２２から学習依頼情報を受け取り、学習依頼を受け付ける（Ｓ２０１）。次に、学習管理装置１４０における識別範囲設定部１４４は、識別範囲を設定するのに必要な情報を取得する（Ｓ２０２）。識別範囲設定部１４４は、取得した情報と学習依頼情報から識別範囲を設定する（Ｓ２０３）。
【０１２２】
学習制御部１４２は、学習依頼情報と設定された識別範囲とに基づいて、学習装置１３と学習プログラムを選択し（Ｓ２０４）、学習依頼情報を選択した学習装置１３に通知し（Ｓ２０５）、学習を指示する（Ｓ２０６）。
【０１２３】
影響判定部１４５は、要因情報ＤＢ１１６を参照し、影響要因のリストを抽出する。また、影響判定部１４５は、学習装置１３から学習プログラムに対応する影響判定ロジックを取得し（Ｓ２０７）、取得した影響判定ロジックを用いて、各要因が学習結果に与える影響度を判定する（Ｓ２０８）。影響判定部１４５は、影響要因のリストに記された影響要因ごとに判定結果を設定する（Ｓ２０９）。
【０１２４】
次に、学習識別情報生成装置１５及び学習結果識別情報生成装置１６は、影響要因のリストから、影響度がなしと設定された影響要因を除き（Ｓ２１０）、除いた後の影響要因のリストを用いて学習結果の識別情報を生成し（Ｓ２１１）、学習制御部１４２は、生成した識別情報と学習結果とを対応付けてバージョン管理ＤＢ１１４に登録する（Ｓ２１２）。また、学習結果が特定の環境で利用されたとき、学習結果利用環境情報生成装置１７は学習結果によってもたらされた成果を識別するための情報を生成し、学習制御部１４２は生成された情報を学習結果の識別情報と組み合わせて、学習成果の識別情報としてバージョン管理ＤＢ１１４に登録する（Ｓ２１３）。
【０１２５】
このように、本実施形態に係る学習サービス提供システム１によれば、機械が獲得する能力のバリエーションについて、適切に管理することができる。
【０１２６】
＜７．検査機の実施例＞
本実施形態に係る学習サービス提供システム１を用いて、検査対象物を測定する少なくとも１つのセンサを備える検査機に所定の能力を学習させる場合の例について説明する。例えば、電子回路基板の製造者Ｚは、検査機により製品の良品と不良品の選別を行っている。この例では、製造者Ｚは学習依頼者であり、検査機が製品の良品と不良品の選別をする能力を学習により獲得させる場合について説明する。
【０１２７】
まず、図１５を用いて検査機ａの構成について説明する。図１５は検査機ａの構成の一例を示すブロック図である。図１５に示すように検査機ａは、記憶部Ａ１と、入力部Ａ２と、判別部Ａ３と、出力部Ａ４とを備えている。記憶部Ａ１は、例えば学習サービス提供システム１によって行われた学習の学習結果が記憶される。入力部Ａ２は、検査対象の情報を取得する機能を有し、例えばカメラやマイク等のセンサにより構成される。判別部Ａ３は、入力部Ａ２から入力された検査対象の情報（例えば画像等）に基づいて、良品や不良品等の所定の検査対象を判別する機能を有している。また、出力部Ａ４は、判別部Ａ３の判定結果を出力する機能を有する。なお、ここで判定結果を出力するとは、例えば表示装置等に判定結果を表示させる等、判定結果をユーザに提示するだけでなく、所定の検査対象を他の検査対象から選り分ける等の検査機の動作を含むものである。
【０１２８】
次に、本実施形態における処理の流れについて説明する。まず、製造者Ｚは、学習依頼装置２２から、学習サービス提供者Ａの学習依頼受付装置１２に対して、製造者Ｚの所有する検査機ａ上で動作する学習モデルを納品するよう学習依頼する。具体的には、製造者Ｚは、学習依頼時に検査機aに備えられたカメラによって撮像された電子回路基板の複数の画像と、各画像に対して製造者Ｚが良品または不良品を判定した結果とを組み合わせたデータを含む情報を学習依頼情報として学習サービス提供者Ａへと提供して、学習依頼する。
【０１２９】
この際、学習依頼ＤＢ１１２には、例えば、獲得する能力、学習依頼者、学習データの対象、取得期間等の情報として以下に示す情報が格納される。
・獲得する能力が、回路基板の実装の良品と不良品を判別すること、及び、学習結果による正解率が９０％以上であること
・学習依頼者が、回路基板の製造者Ａであること
・学習データの対象が、回路基板の製造者Ａの検査機ａで取得された回路基板の撮像画像、及び、製造者Ｚが各撮像画像に対して良品または不良品を判定した結果であること
・取得期間が例えば、２０１６年６月１日から２０１６年６月１５日であること
【０１３０】
さらに、これらの依頼情報に加え、学習サービス提供者Ａは深層学習等どのようなアルゴリズムにより学習を行うか等の情報を加えたうえで、学習サービス提供者Ａは、製造者Ｚより提供された画像を学習データ、良品または不良品の判定結果を教師データとして、所有する学習装置１３によって学習を行わせる。
【０１３１】
例えば、学習装置１３は、製造者Ｚの学習データを入力として、良品または不良品を分類できるよう深層学習を行う。深層学習が完了した後、例えば、学習サービス提供者Ａは、学習装置１３におけるニューラルネットワーク１３２の層数や各ノードの重み等、学習モデルの構成情報、あるいは、学習済みのニューラルネットワーク１３２自体を取得し、製造者Ｚへ納入する。
【０１３２】
この際、学習サービス提供者Ａは、学習管理装置１４０及び学習識別情報生成装置１５を用いて第１情報を生成する。具体的には、学習管理装置１４０の影響判定部１４５が影響要因判定ロジックにより影響要因を抽出し、当該影響要因に基づいて学習識別情報生成装置１５が第１情報を生成する。この場合、上記の学習依頼情報に加え、学習サービス提供者Ａ側から提供される学習アルゴリズム等の情報を含めて影響要因が判断され、学習を識別する第１情報となり得る。また、例えば、学習サービス提供者Ａが複数の学習装置１３を保有する場合には、複数の学習装置１３のうち、学習装置Ａによって学習を行ったのか学習装置Ｂによって学習を行ったのかを学習結果を識別可能な第２情報が学習結果情報生成装置１６によって生成されてもよい。また、第３情報として、学習結果が製造者Ａの検査機Ａで利用されるのか、検査機Ｂについて利用されるのかを識別する情報が、学習結果利用環境情報生成装置１７によって生成されてもよい。
【０１３３】
以上、本発明の一実施形態について説明した。なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。また、本発明は、その趣旨を逸脱することなく、変更ないし改良され得るものである。例えば、上述の処理フローにおける各ステップは処理内容に矛盾を生じない範囲で各ステップの一部を省略したり、各処理ステップの順番を任意に変更して又は並列に実行することができる。
【０１３４】
上述の実施形態では、本発明に係るシステムを利用して、深層学習などのＡＩ技術によって機械が獲得した能力の管理を行う例について説明したが、本発明はこれに限定されず、幅広い分野に適用することができる。例えば、製品の良品と不良品の識別、食品、機械部品、化学製品、薬品などのさまざまな工業分野、漁業分野、農業分野、林業分野、サービス業、医療や健康分野に適用することができる。また、組込分野の製品にＡＩ技術を適用する場合や社会システム等のＩＴ技術を活用したシステム、ビッグデータの分析、幅広い制御装置における分類機能等に本発明を適用してもよい。
【０１３５】
なお、本明細書において、「部」ないし「手段」とは、単に物理的構成を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」ないし「手段」や装置が有する機能が２つ以上の物理的構成や装置により実現されても、２つ以上の「部」ないし「手段」や装置の機能が１つの物理的手段や装置により実現されてもよい。
【０１３６】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
少なくとも１つのハードウェアプロセッサと少なくとも１つのメモリを備え、
前記ハードウェアプロセッサは、
機械学習により所定の学習がなされたことによって所定の能力を獲得した学習結果に対して、前記所定の学習を識別可能な第１情報と、前記学習結果を識別可能な第２情報と、前記学習結果によってもたらされる成果を識別可能な第３情報と、を含む識別情報を生成し、
生成された識別情報を前記メモリに格納する
ことを特徴とする学習成果識別装置。
（付記２）
少なくとも１つ以上のハードウェアプロセッサによって、
機械学習により所定の学習がなされたことによって所定の能力を獲得した学習結果に対して、前記所定の学習を識別可能な第１情報と、前記学習結果を識別可能な第２情報と、前記学習結果によってもたらされる成果を識別可能な第３情報と、を含む識別情報を生成するステップと、
前記生成された識別情報をメモリに格納するステップと、
を実行する学習成果識別方法。
【符号の説明】
【０１３７】
１  学習サービス提供システム、２  学習依頼システム、１１  学習結果データベース、１２  学習依頼受付装置、１３  学習装置、１４  学習管理システム、１５  学習識別情報生成装置、１６  学習結果識別情報生成装置、１７  学習結果利用環境情報生成装置、２１  学習データ準備装置、２２  学習依頼装置、２３  学習結果利用装置、２４  学習データ入力装置、１２１  学習依頼受付部、１２３  学習データ記憶部、１２４  学習依頼内容記憶部、１２５  通信部、１３１  学習制御部、１３２  ニューラルネットワーク、１３３  学習結果抽出部、１３４  通信部、１３５  学習結果出力部、１４０  学習管理装置、１４１  学習情報取得部、１４２  学習制御部、１４３  要因情報取得部、１４４  識別範囲設定部、１４５  影響判定部、１４７  通信部、２１１  操作部、２１２  学習データ取得部、２１３  学習データ記憶部、２１４  データ取得制御部、２１６  通信部、２２１  学習依頼部、２２２  学習依頼内容記憶部、２２３  学習データ記憶部、２２４  通信部、２３１  学習結果入力部、２３２  ニューラルネットワーク設定部、２３３  ニューラルネットワーク、２３４  制御部、２３５  入力部、２３６  通信部、２３７  データ取得部、２３８  出力部
【図１】
2018151974.tif 000003
【図２】
2018151974.tif 000004
【図３】
2018151974.tif 000005
【図４】
2018151974.tif 000006
【図５】
2018151974.tif 000007
【図６】
2018151974.tif 000008
【図７Ａ】
2018151974.tif 000009
【図７Ｂ】
2018151974.tif 000010
【図８】
2018151974.tif 000011
【図９】
2018151974.tif 000012
【図１０】
2018151974.tif 000013
【図１１】
2018151974.tif 000014
【図１２】
2018151974.tif 000015
【図１３】
2018151974.tif 000016
【図１４】
2018151974.tif 000017
【図１５】
2018151974.tif 000018