特表-17138220IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧
<>
  • 再表WO2017138220-情報処理方法および情報処理装置 図000007
  • 再表WO2017138220-情報処理方法および情報処理装置 図000008
  • 再表WO2017138220-情報処理方法および情報処理装置 図000009
  • 再表WO2017138220-情報処理方法および情報処理装置 図000010
  • 再表WO2017138220-情報処理方法および情報処理装置 図000011
  • 再表WO2017138220-情報処理方法および情報処理装置 図000012
  • 再表WO2017138220-情報処理方法および情報処理装置 図000013
  • 再表WO2017138220-情報処理方法および情報処理装置 図000014
  • 再表WO2017138220-情報処理方法および情報処理装置 図000015
  • 再表WO2017138220-情報処理方法および情報処理装置 図000016
  • 再表WO2017138220-情報処理方法および情報処理装置 図000017
  • 再表WO2017138220-情報処理方法および情報処理装置 図000018
  • 再表WO2017138220-情報処理方法および情報処理装置 図000019
  • 再表WO2017138220-情報処理方法および情報処理装置 図000020
  • 再表WO2017138220-情報処理方法および情報処理装置 図000021
  • 再表WO2017138220-情報処理方法および情報処理装置 図000022
  • 再表WO2017138220-情報処理方法および情報処理装置 図000023
< >
(19)【発行国】日本国特許庁(JP)
【公報種別】再公表特許(A1)
(11)【国際公開番号】WO/0
(43)【国際公開日】2017年8月17日
【発行日】2018年11月29日
(54)【発明の名称】情報処理方法および情報処理装置
(51)【国際特許分類】
   G06N 3/02 20060101AFI20181102BHJP
   G06F 8/34 20180101ALI20181102BHJP
【FI】
   G06N3/02
   G06F8/34
【審査請求】未請求
【予備審査請求】未請求
【全頁数】29
【出願番号】特願2017-566526(P2017-566526)
(21)【国際出願番号】PCT/0/0
(22)【国際出願日】2016年11月25日
(31)【優先権主張番号】特願2016-24545(P2016-24545)
(32)【優先日】2016年2月12日
(33)【優先権主張国】JP
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JP,KE,KG,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニー株式会社
(74)【代理人】
【識別番号】100095957
【弁理士】
【氏名又は名称】亀谷 美明
(74)【代理人】
【識別番号】100096389
【弁理士】
【氏名又は名称】金本 哲男
(74)【代理人】
【識別番号】100101557
【弁理士】
【氏名又は名称】萩原 康司
(74)【代理人】
【識別番号】100128587
【弁理士】
【氏名又は名称】松本 一騎
(72)【発明者】
【氏名】吉山 和樹
(72)【発明者】
【氏名】小林 由幸
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376BC33
5B376BC42
(57)【要約】
【課題】ニューラルネットワークの開発効率を向上させる情報をユーザに提示する。
【解決手段】
プロセッサが、配置されるコンポーネントと、前記コンポーネントに設定されるプロパティと、に基づいて、ニューラルネットワークを構築するプログラムを作成するためのフォームを提供することと、前記ニューラルネットワークに係る統計情報を提示することと、を含む、情報処理方法が提供される。また、配置されるコンポーネントと、前記コンポーネントに設定されるプロパティと、に基づいて、ニューラルネットワークを構築するプログラムを作成するためのフォームを提供するフォーム制御部、を備え、前記フォーム制御部は、前記ニューラルネットワークに係る統計情報を提示する、情報処理装置が提供される。
【選択図】図15
【特許請求の範囲】
【請求項1】
プロセッサが、配置されるコンポーネントと、前記コンポーネントに設定されるプロパティと、に基づいて、ニューラルネットワークを構築するプログラムを作成するためのフォームを提供することと、
前記ニューラルネットワークに係る統計情報を提示することと、
を含む、情報処理方法。
【請求項2】
前記統計情報には、前記ニューラルネットワークにおけるアウトプットユニットの数、処理されるパラメータ数、または演算種類ごとの演算量のうち、少なくとも1つが含まれる、
請求項1に記載の情報処理方法。
【請求項3】
前記フォーム上に配置される前記コンポーネント、または前記コンポーネントに設定されるプロパティが変更されたことに基づいて算出される前記統計情報をリアルタイムに提示する、
請求項2に記載の情報処理方法。
【請求項4】
前記統計情報と、前記ニューラルネットワークが実装されるハードウェアのプロファイルと、に基づいて算出される前記ハードウェアにおける前記ニューラルネットワークの実行予測情報を提示すること、
をさらに含む、
請求項3に記載の情報処理方法。
【請求項5】
前記実行予測情報には、前記ニューラルネットワークによる処理の実行時間、メモリ使用量、消費電力、または演算量のうち、少なくとも1つが含まれる、
請求項4に記載の情報処理方法。
【請求項6】
前記統計情報が前記ハードウェアにおける制限情報を逸脱したことに基づいて生成されるアラート情報を提示すること、
をさらに含む、
請求項5に記載の情報処理方法。
【請求項7】
前記統計情報を基に算出される、前記ニューラルネットワークによる処理を実行するためのクラウド上のコンピューティングリソースに係る見積情報を提示すること、
をさらに含む、
請求項2に記載の情報処理方法。
【請求項8】
前記コンピューティングリソースに係る見積情報には、インスタンスのタイプ、前記インスタンスの数、金額、または前記コンピューティングリソース上に実装された前記ニューラルネットワークによる処理時間のうち少なくとも1つが含まれる、
請求項7に記載の情報処理方法。
【請求項9】
前記統計情報の値を変更するユーザの操作を受け付け、当該操作に基づいて変更される前記コンポーネントのプロパティ値と前記コンピューティングリソースに係る見積情報と、をリアルタイムに提示すること、
をさらに含む、
請求項8に記載の情報処理方法。
【請求項10】
前記コンピューティングリソースに係る見積情報の値を変更するユーザの操作を受け付け、当該操作に基づいて変更される前記コンポーネントのプロパティ値と前記統計情報と、をリアルタイムに提示すること、
をさらに含む、
請求項9に記載の情報処理方法。
【請求項11】
前記統計情報に含まれる要素を選択するユーザの操作を受け付け、選択された前記要素の値を、前記コンポーネントごとに比較して提示すること、
をさらに含む、
請求項2に記載の情報処理方法。
【請求項12】
前記コンポーネントごとの前記要素の値と、当該要素の値の大きさを示すインジケータと、を前記フォーム上に配置された前記コンポーネントに関連付けて提示する、
請求項11に記載の情報処理方法。
【請求項13】
エミュレータ上における前記ニューラルネットワークの実行結果を提示すること、
をさらに含む、
請求項2に記載の情報処理方法。
【請求項14】
ハードウェア上における前記ニューラルネットワークの実行結果を提示すること、
をさらに含む、
請求項2に記載の情報処理方法。
【請求項15】
前記実行結果には、前記ニューラルネットワークによる処理の実行時間、メモリ使用量、消費電力、または演算量のうち、少なくとも1つが含まれる、
請求項13に記載の情報処理方法。
【請求項16】
配置されるコンポーネントと、前記コンポーネントに設定されるプロパティと、に基づいて、ニューラルネットワークを構築するプログラムを作成するためのフォームを提供するフォーム制御部、
を備え、
前記フォーム制御部は、前記ニューラルネットワークに係る統計情報を提示する、
情報処理装置。
【請求項17】
フォーム上に配置されるコンポーネントと、前記コンポーネントに設定されるプロパティと、に基づいて、ニューラルネットワークを構築するプログラムを作成するプログラム作成部、
を備え、
前記プログラム作成部は、前記ニューラルネットワークに係る統計情報を算出する、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理方法および情報処理装置に関する。
【背景技術】
【0002】
近年、脳神経系の仕組みを模したニューラルネットワークが注目されている。他方、ソフトウェア開発においては、プログラミングに係る作業効率を向上させるための種々の方法が提案されている。例えば、特許文献1には、ビジュアルプログラミング言語を利用したソフトウェア生成方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−268883号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の方法では、ニューラルネットワークに特有のパラメータや演算に対応することが困難である。
【0005】
そこで、本開示では、ニューラルネットワークの開発効率を向上させる情報をユーザに提示することが可能な情報処理方法および情報処理装置を提案する。
【課題を解決するための手段】
【0006】
本開示によれば、プロセッサが、配置されるコンポーネントと、前記コンポーネントに設定されるプロパティと、に基づいて、ニューラルネットワークを構築するプログラムを作成するためのフォームを提供することと、前記ニューラルネットワークに係る統計情報を提示することと、を含む、情報処理方法が提供される。
【0007】
また、本開示によれば、配置されるコンポーネントと、前記コンポーネントに設定されるプロパティと、に基づいて、ニューラルネットワークを構築するプログラムを作成するためのフォームを提供するフォーム制御部、を備え、前記フォーム制御部は、前記ニューラルネットワークに係る統計情報を提示する、情報処理装置が提供される。
【0008】
また、本開示によれば、フォーム上に配置されるコンポーネントと、前記コンポーネントに設定されるプロパティと、に基づいて、ニューラルネットワークを構築するプログラムを作成するプログラム作成部、を備え、前記プログラム作成部は、前記ニューラルネットワークに係る統計情報を算出する、情報処理装置が提供される。
【発明の効果】
【0009】
以上説明したように本開示によれば、ニューラルネットワークの開発効率を向上させる情報をユーザに提示することが可能となる。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【0010】
図1】本開示に関連技術に係るビジュアルプログラミングを説明するための図である。
図2】本開示の実施形態に係るシステム構成例を示す図である。
図3】同実施形態に係る情報処理端末の機能ブロック図である。
図4】同実施形態に係るサーバの機能ブロック図である。
図5】同実施形態に係るフォームを説明するための図である。
図6】同実施形態に係るプロパティの表示例である。
図7】同実施形態に係る統計情報の表示例である。
図8】同実施形態に係るレイヤー構成の変更を説明するための図である。
図9】同実施形態に係る統計情報のリアルタイム更新を説明するための図である。
図10】同実施形態に係るAffineレイヤーに特有の演算方法について説明するための図である。
図11】同実施形態に係るConvolutionレイヤーに特有の演算方法について説明するための図である。
図12】同実施形態に係る実行予測情報の表示例である。
図13】同実施形態に係る見積情報の表示例である。
図14】同実施形態に係るプロパティ、統計上、及び見積情報の連動について説明するための図である。
図15】同実施形態に係るレイヤーの比較情報について説明するための図である。
図16】同実施形態に係る実行結果の表示例である。
図17】本開示に係るハードウェア構成例を示す図である。
【発明を実施するための形態】
【0011】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0012】
なお、説明は以下の順序で行うものとする。
1.背景
1.1.ニューラルネットワークとは
1.2.ビジュアルプログラミングの概要
2.実施形態
2.1.本開示に係るシステム構成例
2.2.本実施形態に係る情報処理端末
2.3.本実施形態に係るサーバ30
2.4.本実施形態に係るフォームの説明
2.5.統計情報の算出に係るリアルタイム性
2.6.ハードウェア上での実行予測情報の算出
2.7.クラウドリソースの見積情報の算出
2.8.統計情報、プロパティ、及び見積情報の連動
2.9.レイヤーに係る比較情報の提示
2.10.ニューラルネットワークに係る実行結果の提示
3.ハードウェア構成例
4.まとめ
【0013】
<1.背景>
<<1.1.ニューラルネットワークとは>>
ニューラルネットワークとは、人間の脳神経回路を模したモデルであり、人間が持つ学習能力をコンピュータ上で実現しようとする技法である。上述したとおり、ニューラルネットワークは学習能力を有することを特徴の一つとする。ニューラルネットワークでは、シナプスの結合によりネットワークを形成した人工ニューロン(ノード)が、学習によりシナプスの結合強度を変化させることで、問題に対する解決能力を獲得することが可能である。すなわち、ニューラルネットワークは、学習を重ねることで、問題に対する解決ルールを自動的に推論することができる。
【0014】
ニューラルネットワークによる学習の例としては、画像認識や音声認識が挙げられる。ニューラルネットワークでは、例えば、手書きの数字パターンを繰り返し学習することで、入力される画像情報を、0〜9の数字のいずれかに分類することが可能となる。ニューラルネットワークの有する上記のような学習能力は、人工知能(Artificial Intelligence)の発展を推し進める鍵としても注目されている。また、ニューラルネットワークが有するパターン認識力は、種々の産業分野における応用が期待される。
【0015】
本開示に係る情報処理方法および情報処理装置は、上記で説明したようなニューラルネットワークの開発手法に着目して発想されたものであり、ニューラルネッワークのビジュアルプログラミングにおいて、開発効率を向上させることが可能である。
【0016】
<<1.2.ビジュアルプログラミングの概要>>
続いて、本開示に係るビジュアルプログラミングについて、概要を説明する。本開示において、ビジュアルプログラミングとは、ソフトウェア開発において、プログラムコードをテキストで記述することなく、視覚的なオブジェクトを用いて作成する手法を指す。ビジュアルプログラミングでは、例えば、GUI(Graphical User Interface)上で、オブジェクトを操作することで、プログラムを作成することができる。
【0017】
図1は、本開示に係るビジュアルプログラミングのイメージ図である。図1には、GUI上に配置されたオブジェクト(コンポーネント)を基に生成される生成物が示されている。図1に示す一例では、コンポーネント1〜3が順に処理されるように配置されている。ここで、コンポーネント1〜3は、例えば、データの取り込み、データの処理、データの出力をそれぞれ意味するコンポーネントであってもよい。また、図1に示すように、本開示に係るビジュアルプログラミングでは、ソースコードの他、設定ファイルやXMLファイルなどが生成されてもよい。
【0018】
以上、本開示に係る背景について説明した。上述したとおり、本開示に係る情報処理方法および情報処理装置は、ニューラルネッワークのビジュアルプログラミングにおいて、開発効率を向上させることを可能とする。以降の実施形態の説明では、本開示に係る情報処理方法および情報処理装置の特徴を挙げながら、当該特徴が奏する効果について述べる。
【0019】
<2.実施形態>
<<2.1.本開示に係るシステム構成例>>
まず、図2を参照して本開示の実施形態に係る情報処理方法を実施するためのシステム構成例について説明する。図2を参照すると、本実施形態に係る情報処理方法を実施するためのシステムは、情報処理端末10、サーバ30、及びデバイス40を備える。また、情報処理端末10、サーバ30、及びデバイス40は、ネットワーク20を介して、互いに通信が行えるように接続される。
【0020】
ここで、本実施形態に係る情報処理端末10は、ニューラルネットワークのビジュアルプログラミングを行うための情報処理装置である。また、サーバ30は、情報処理端末10にビジュアルプログラミングを行うためのフォームを提供し、当該フォーム上に配置されたコンポーネントに基づいてニューラルネットワークに係るプログラムを作成する情報処理装置である。また、デバイス40は、サーバ30により作成されたニューラルネットワークのプログラムを実行するハードウェアである。デバイス40は、例えば、スマートフォン、タブレット、PC(Personal Computer)などであってよい。
【0021】
また、ネットワーク20は、インターネット、電話回線網、衛星通信網などの公衆回線網であってもよいし、IP−VPN(Internt Protocol−Virtual Private Network)などの専用回線網を含んでもよい。
【0022】
本実施形態に係る情報処理方法では、配置されるコンポーネントと、当該コンポーネントに設定されるプロパティと、に基づいて、ニューラルネットワークを構築するプログラムを作成するためのフォームが提供される。また、本実施形態に係る情報処理方法は、上記ニューラルネットワークに係る統計情報(以下、単に、統計情報、とも呼ぶ)を提示すること、を特徴の一つとする。また、統計情報は、コンポーネントや当該コンポーネントに設定されるプロパティが変更されたことに基づいてリアルタイムに算出されてよい。これにより、ユーザは、ニューラルネットワークに係る統計情報をリアルタイムに確認しながら、ビジュアルプログラミングを行うことが可能となる。
【0023】
<<2.2.本実施形態に係る情報処理端末>>
次に、本実施形態に係る情報処理端末10について詳細に説明する。本実施形態に係る情報処理端末10は、ニューラルネットワークのビジュアルプログラミングに係るフォームをユーザに提供する機能を有する。また、情報処理端末10は、作成されるニューラルネットワークに係る統計情報をユーザに提示する機能を有する。ニューラルネットワークに係る統計情報には、ニューラルネットワークにおけるアウトプットユニットの数、処理されるパラメータ数、及び演算種類ごとの演算量などが含まれてよい。また、上述したとおり、統計情報は、コンポーネントやプロパティが変更されたことに基づいて、リアルタイムに算出される情報であってよい。
【0024】
図3を参照すると、本実施形態に係る情報処理端末10は、表示部110、入力部120、フォーム制御部130、及びサーバ通信部140を備える。以下、情報処理端末10が備える各構成について説明する。
【0025】
(表示部110)
表示部110は、情報処理端末10の各構成により制御される情報を表示する機能を有する。本実施形態においては、特に、ニューラルネットワークのビジュアルプログラミングを行うためのフォームを表示する機能を有してよい。上記の機能は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD:Liquid Crystal Display)装置、OLED(Organic Light Emitting Diode)装置により実現されてもよい。また、表示部110は、ユーザからの情報入力を受け付ける入力部としての機能を有してもよい。入力部としての機能は、例えば、タッチパネルにより実現され得る。
【0026】
(入力部120)
入力部120は、ユーザからの情報入力を受け付け、情報処理端末10の各構成に入力情報を引き渡す機能を有する。本実施形態においては、特に、ビジュアルプログラミングに係るフォーム上におけるユーザの操作を受け付け、当該操作に基づく入力情報を後述するフォーム制御部130に引き渡す機能を有してよい。上記の機能は、例えば、キーボードやマウスにより実現されてもよい。
【0027】
(フォーム制御部130)
フォーム制御部130は、ニューラルネットワークのビジュアルプログラミングに係るフォームを制御する機能を有する。具体的には、フォーム制御部130は、入力部120から取得する情報に基づいて、フォーム上のコンポーネントや当該コンポーネントの値を制御することができる。また、フォーム制御部130は、後述するサーバ通信部140を介してサーバ30から取得する情報に基づいて、表示部110に表示させる内容を制御する機能を有する。
【0028】
(サーバ通信部140)
サーバ通信部140は、ネットワーク20を介して、サーバ30との情報通信を行う機能を有する。具体的には、サーバ通信部140は、フォーム制御部130の制御に基づいて、上記フォームに係る情報をサーバ30に送信する。また、サーバ通信部140は、サーバ30から取得した情報をフォーム制御部130に引き渡す。
【0029】
<<2.3.本実施形態に係るサーバ30>>
次に、本実施形態に係るサーバ30について詳細に説明する。本実施形態に係るサーバ30は、フォーム上に配置されるコンポーネントと、当該コンポーネントに設定されるプロパティと、に基づいて、ニューラルネットワークを構築するプログラムを作成する情報処理装置である。また、サーバ30は、上記ニューラルネットワークに係る統計情報を算出する機能を有する。さらには、サーバ30は、作成したニューラルネットワークをエミュレータまたはデバイス40に実行させることができる。
【0030】
図4を参照すると、本実施形態に係るサーバ30は、プログラム作成部310、エミュレータ部320、及び端末通信部330を備える。以下、サーバ30が備える各構成について説明する。
【0031】
(プログラム作成部310)
プログラム作成部310は、後述する端末通信部330を介して情報処理端末10から取得した情報に基づいて、ニューラルネットワークを構築するプログラムを作成する機能を有する。また、プログラム作成部310は、情報処理端末10から取得した情報に基づいて、ニューラルネットワークに係る統計情報をリアルタイムに算出する機能を有する。ここで、情報処理端末10から取得される情報は、フォーム上に配置されるコンポーネントと、当該コンポーネントに設定されるプロパティに係る情報であってよい。また、上述したとおり、統計情報は、ニューラルネットワークにおけるアウトプットユニットの数、処理されるパラメータ数、及び演算種類ごとの演算量などであってよい。
【0032】
さらに、本実施形態に係るプログラム作成部310は、ハードウェア上でニューラルネットワークによる処理を実行した場合の実行予測情報を算出することができる。プログラム作成部310は、統計情報と、予め設定されたハードウェアのプロフィール情報と、に基づいて、実行予測情報を算出することができる。実行予測情報には、ニューラルネットワークによる処理の実行時間、メモリ使用量、消費電力、及び演算量などが含まれてよい。また、実行予測情報は、統計情報の変化に基づいて、リアルタイムに算出される情報であってよい。なお、上記のハードウェアは、ネットワーク20を介して接続されるデバイス40とは異なる別のハードウェアであってよい。
【0033】
さらに、本実施形態に係るプログラム作成部310は、作成したニューラルネットワークによる処理を実行するためのクラウド上のコンピューティングリソースに係る見積情報を算出することができる。プログラム作成部310は、統計情報と、コンピューティングリソースを提供するクラウドサービスから取得した情報と、に基づいて、見積情報を算出することができる。見積情報には、インスタンスのタイプ、当該インスタンスの数、コンピューティングリソースの金額、及びニューラルネットワークによる処理時間などが含まれてよい。また、見積情報は、統計情報の変化に基づいて、リアルタイムの算出される情報であってよい。
【0034】
(エミュレータ部320)
エミュレータ部320は、プログラム作成部310が作成したニューラルネットを構築するプログラムをエミュレータ上で実行し、実行結果を取得する機能を有する。エミュレータ部320は、上記のニューラルネットワークが実装されるハードウェアに係るエミュレータを複数含んでもよい。また、エミュレータ部320は、ネットワーク20を介してサーバ30と接続されるエミュレータにプログラムを実行させ、実行結果を取得してもよい。
【0035】
また、エミュレータ部320は、プログラム作成部310が作成したプログラムをデバイス40に実行させ、実行結果を取得する機能を有する。エミュレータまたはデバイス40上におけるニューラルネットワークの実行結果には、処理の実行時間、メモリ使用量、消費電力、及び演算量などが含まれてよい。
【0036】
(端末通信部330)
端末通信部330は、ネットワーク20を介して、情報処理端末10及びデバイス40との情報通信を行う機能を有する。具体的には、端末通信部330は、プログラム作成部310が算出する情報を情報処理端末10に送信する。ここで、プログラム作成部310が算出する情報には、統計情報、ハードウェア上での実行予測情報、クラウドリソースの見積情報が含まれてよい。また、端末通信部330は、エミュレータ部320が取得する情報を情報処理端末10に送信する。ここで、エミュレータ部320が取得する情報には、エミュレータまたはハードウェア上におけるニューラルネットワークの実行結果が含まれてよい。
【0037】
<<2.4.本実施形態に係るフォームの説明>>
次に、本実施形態に係るビジュアルプログラミングを行うためのフォームについて詳細に説明する。本実施系形態に係るフォームは、情報処理端末10の表示部110に表示されてよい。ユーザは、上記のフォーム上で操作を行うことで、ニューラルネットワークを構築することができる。
【0038】
図5は、本実施形態に係るフォームの構成例を示す図である。図5を参照すると、本実施形態に係るフォームF1は、パレットP1〜P3を含んでいる。ここで、パレットP1は、コンポーネントのリストを表示するための領域であってよい。また、パレットP2は、コンポーネントを編集しニューラルネットワークを構築するための領域であってよい。また、パレットP3は、上記のニューラルネットに係る各種の情報を表示するための領域であってよい。
【0039】
なお、本実施形態に係るコンポーネントは、それぞれがニューラルネットワークを構成するレイヤーに相当するものである。このため、以降の説明においては、コンポーネントとレイヤーを同一のものとして扱い、レイヤーという名称で統一する。
【0040】
(パレットP1)
上述したとおり、パレットP1は、レイヤーのリストを表示するための領域である。図5に示す一例のように、パレットP1には、レイヤーが分類ごとに表示されてもよい。また、分類名をクリックすることで、分類ごとのレイヤーの一覧が展開されるよう制御されてもよい。図5を参照すると、パレットP1には、入出力層や中間層、活性化関数などに分類されたレイヤーのリストが表示されている。ユーザは、パレットP1に表示されるレイヤーをドラッグすることで、該当するレイヤーをパレットP2に追加することができる。または、パレットP1に表示されるレイヤーを選択することで、該当するレイヤーがパレットP2に追加されてもよい。なお、図5や以降の図に示されるレイヤーは、よく知られたものであるため、詳細な説明は省略する。
【0041】
(パレットP2)
パレットP2は、レイヤーを編集しニューラルネットワークを構築するための領域である。図5に示す一例では、レイヤーを線でつなぐことで、ニューラルネットワークにおける処理の流れを構築している。ユーザは、レイヤーを移動、追加または削除することで、ニューラルネットワークを視覚的に構築することができる。また、パレットP2では、ユーザによって選択されたレイヤーが他のレイヤーとは異なる表示形式で示されてもよい。図5の一例は、レイヤー「Affine #2」が選択された状態を示している。
【0042】
(パレットP3)
パレットP3は、ニューラルネットに係る各種の情報を表示するための領域である。図5を参照すると、パレットP3には、インフォメーションi1として、パレットP2で選択されたレイヤーに係るプロパティ情報が表示されている。また、パレットP3には、インフォメーションi2として、パレットP2に配置されたレイヤーに基づくニューラルネットワークの統計情報が表示されている。なお、パレットP3には、プロパティ情報及び統計情報の他、ハードウェア上での実行予測情報、クラウドリソースの見積情報、エミュレータまたはデバイス40上での実行結果などが表示されてよい。
【0043】
(プロパティ情報)
続いて、パレットP3に表示されるプロパティ情報について詳細に説明する。図6は、パレットP3に表示されるプロパティ情報の一例である。図6には、図5のパレットP2において、レイヤー「Affine #2」が選択された場合のプロパティ情報の一例を示している。図6を参照すると、プロパティ情報には、レイヤー名称を示す「Name」などのレイヤーに係る基本情報の他、レイヤー間の接続状況やレイヤーの特性によって自動算出される情報、及びレイヤー種類ごとに特有の設定値が含まれている。
【0044】
「Input」及び「Output」は、レイヤーの入出力サイズを示す値である。また、「CostAdd」及び「CostMultiplyAdd」は、レイヤーにおける演算量に係る情報であってよい。また、「CostParameter」は、レイヤーに含まれるパラメータ数(メモリ量)を示す値である。上記に挙げた各項目は、レイヤー間の接続状況や後述する設定値に基づいて自動で算出される項目であってよい。ユーザは、上記の各項目を確認することで、各レイヤーにおけるメモリ量や演算量を、手動で計算することなく把握することができる。なお、「CostAdd」及び「CostMultiplyAdd」の詳細な説明については後述する。
【0045】
「OutShape」は、Affineレイヤーの出力ニューロン数を指定するための項目である。このように、プロパティ情報には、レイヤー種類ごとに特有の設定値が含まれてよい。また、図6の一例には示していないが、レイヤー種類ごとに特有の設定値には、「OutShape」以外の項目が含まれてもよい。例えば、Affineレイヤーの場合、プロパティ情報には、バイアス項の有無を指定する項目や重みに関する種々の項目が含まれてよい。上記のような設定値に任意の値を指定することで、各レイヤーにおける処理の詳細を設定することができる。
【0046】
(統計情報)
続いて、パレットP3に表示される統計情報について詳細に説明する。上述したとおり、本実施系形態に係る統計情報は、フォーム上に配置されたレイヤーと、当該レイヤーのプロパティが変更されたことに基づいて、リアルタイムに算出される情報である。また、本実施形態に係る統計情報は、レイヤーごとに算出されたメモリ量や演算量の総和であってよい。
【0047】
図7は、図5のパレットP2上に配置されたレイヤー構成時の統計情報を示す図である。図7を参照すると、統計情報には、「Output」、「CostParameter」が含まれている。ここで、「Output」は、ニューラルネットワーク全体に係るアウトプットユニットの総数を示す値であってよい。すなわち、「Output」は、計算過程で保持される途中計算値(バッファ)の数を意味する。また、「CostParameter」は、ニューラルネットワーク全体に係るパラメータの総数であってよい。
【0048】
また、統計情報には、「CostAdd」、「CostMultiply」、「CostMultiplyAdd」、「CostDivision」、「CostExp」、及び「CostIf」がさらに含まれている。上記の各項目はニューラルネットワークにより処理される演算種類ごとの演算量の総和を示している。上記の各項目は、それぞれ、加算回数、乗算回数、乗加算回数、除算回数、指数計算回数、または条件分岐判断の回数を示す値であってよい。なお、図7に示す一例においては、「CostMultiply」の値が0となっているが、これは、乗算回数を乗加算回数に含んで算出しているためである。
【0049】
<<2.5.統計情報の算出に係るリアルタイム性>>
次に、本実施形態の統計情報の算出に係るリアルタイム性について説明する。上述したとおり、本実施形態に係る情報処理方法によれば、レイヤーや当該レイヤーに設定されるプロパティが変更されたことに基づいて、統計情報をリアルタイムに算出することができる。以下、図8及び図9を参照して、本実施形態の統計情報の算出に係るリアルタイム性について説明する。
【0050】
(レイヤー構成の変更に基づく統計情報の算出)
図8は、パレットP2上でニューラルネットワークに係るレイヤーの構成が変更されたことを示す図である。図8に示す一例では、図5に示したレイヤー構成に加え、新たにレイヤー「Tanh #2」及び「Affine #3」が追加されている。なお、図8に示すように、パレットP2上の各レイヤーは、直線状に配置されなくてもかまわない。
【0051】
続いて、図9を参照する。図9は、図8に示したレイヤー構成時の統計情報を示す図である。すなわち、図9は、レイヤー構成の変更に基づいて、更新された統計情報を示している。図9を参照すると、統計情報が示す各項目が、図7に示した状態から更新されていることがわかる。具体的には、図9に示す統計情報では、図7に示した統計情報と比較して、「Output」及び「CostParameter」の値が増加している。また、図9に示す統計情報では、図7に示した統計情報と比較して、「CostAdd」、「CostMultiplyAdd」、「CostDivision」、及び「CostExp」の値がそれぞれ増加している。
【0052】
以上説明したように、本実施形態に係る情報処理方法では、レイヤーや当該レイヤーに設定されるプロパティが変更されたことに基づいて、統計情報をリアルタイムに算出することができる。すなわち、サーバ30のプログラム作成部310は、情報処理端末10に表示されるフォーム上でレイヤー構成が変更されたことに基づいて、統計情報をリアルタイムに算出することができる。図8及び図9を用いて説明して例では、プログラム作成部310が、フォーム上でレイヤー「Tanh #2」及び「Affine #3」が追加されたことに基づいて、統計情報の値を更新している。
【0053】
なお、上記では、レイヤーを追加する場合を例に説明したが、プログラム作成部310は、レイヤーが削除された場合や、レイヤーのプロパティが変更された場合にも統計情報を更新する。例えば、プログラム作成部310は、Affineレイヤーのプロパティにおいて、「OutShape」の値が変更されたことに基づいて、統計情報を更新できる。プログラム作成部310がレイヤー構成の変更に基づいて統計情報をリアルタイムに更新することで、ユーザは、最新の統計情報を確認しながら、ニューラルネットワークのビジュアルプログラミングを行うことが可能となる。
【0054】
以上、本実施形態に係る統計情報の更新について説明した。上述した通り、本実施形態に係る統計情報は、レイヤーごとに算出されたパラメータ数や演算量の総和である。すなわち、本実施形態に係るプログラム作成部310は、レイヤー構成が変更された際、各レイヤーに係るパラメータ数や演算量を再算出することで、統計情報の値を更新することができる。以下、レイヤーにおけるパラメータ数及び演算量の算出方法について例を挙げて説明する。
【0055】
(Affineレイヤーに係る算出例)
まず、Affineレイヤーにおけるパラメータ数の算出方法について説明する。Affineレイヤーにおけるパラメータ数は、InputとOutputの数、及びバイアス項に基づいて算出されてよい。図10は、Affineレイヤーにおけるパラメータ数及び演算量の算出方法を説明するための図である。
【0056】
図10の一例では、3つのInput、及び4つのOutputが示されている。また、図10には重みWが表記され、本例においては、W1,1〜W3,4の重みWが示されている。すなわち、Affineレイヤーにおける重みWの数は、InputとOutputの乗算により算出することができる。このため、Affineレイヤーにおけるパラメータ数は、下記の数式(1)により算出することができる。数式(1)におけるbは、バイアス項を示す。また、重みWは、下記の数式(2)に示す行列によって求めることができる。
【0057】
【数1】
【0058】
以上、Affineレイヤーにおけるパラメータ数の算出方法について説明した。なお、Affineレイヤーにおける演算量についても、上記で示した方法により算出することが可能である。
【0059】
(Convolutionレイヤーに係る算出例)
続いて、Convolutionレイヤーにおけるパラメータ数の算出方法について説明する。Convolutionレイヤーにおけるパラメータ数及び演算量は、Mapサイズ、入力Mapの数、及び出力Mapの数を基に算出される図11は、Convolutionレイヤーにおけるパラメータ数及び演算量の算出方法を説明するための図である。
【0060】
図11の一例では、入力マップがL、出力MapがMとして示されている。また、重みWは、a×b、により算出でき、1回の畳み込み演算量を示す。Convolutionレイヤーでは、畳み込み演算が、入力Map×出力Map、の数だけ繰り返されるため、Outputの値は、a×b×L×M、により算出することができる。すなわち、Convolutionレイヤーでは、下記の数式(3)を用いることで、パラメータ数及び演算量を算出することが可能である。
【0061】
【数2】
【0062】
以上、レイヤーにおけるパラメータ数及び演算量の算出方法について例を挙げて説明した。上記では、ニューラルネットの構成としてよく用いられるAffineレイヤー及びConvolutionレイヤーについて説明したが、この他のレイヤーにおいても、レイヤー特有の方法によりパラメータ数及び演算量を算出することが可能である。
【0063】
上記で説明したように、本実施形態に係る情報処理方法では、レイヤー構成の変更に基づいて、レイヤーごとのパラメータ数及び演算量を再計算することで、ニューラルネットワークに係る統計情報の値を更新することが可能である。
【0064】
<<2.6.ハードウェア上での実行予測情報の算出>>
次に、本実施形態に係るハードウェア上での実行予測情報の算出について説明する。本実施形態に係る情報処理方法では、統計情報と、ハードウェアのプロファイルと、に基づいて、当該ハードウェア上におけるニューラルネットワークの実行予測情報を算出することができる。以下、図12を参照して、上記の機能について詳細に説明する。
【0065】
図12は、ハードウェア上におけるニューラルネットワークの実行予測情報の一例を示す図である。本実施形態に係る実行予測情報は、サーバ30のプログラム作成部310が、統計情報と、ハードウェアのプロファイルとを基に算出した値であってよい。なお、ハードウェアのプロファイルには、当該ハードウェアのハードウェア仕様や、ニューラルネットワークの実行に係る制限情報などが含まれてよい。また、本実施形態に係る実行予測情報は、図5に示したフォームF1上のパレットP3に表示されてよい。
【0066】
図12を参照すると、本実施形態に係る実行予測情報には、ニューラルネットワークによる学習時間、メモリ使用量、電力消費量、及び演算量が含まれている。プログラム作成部310は、レイヤー構成に基づいて算出される統計情報の更新に応じて、上記の項目をリアルタイムで算出することができる。
【0067】
また、プログラム作成部310は、統計情報がハードウェアのプロファイルに含まれる制限情報の範囲を逸脱したことに基づいて、アラート情報を生成することができる。図12に示す一例では、統計情報がハードウェアのメモリ使用量に係る制限を逸脱したことに基づいて、プログラム作成部310がアラート情報を生成している。また、情報処理端末10のフォーム制御部130は、上記のアラート情報を受信し、当該情報に基づいて、パレットP3上に示される実行予測情報の表示形式を制御している。フォーム制御部130による表示制御は、例えば図12に示すように、制限を逸脱した項目の背景を強調するものであってもよい。また、フォーム制御部130は、フォーム上にアラートに係るメッセージを表示させてもよい。
【0068】
上記のように、本実施形態に係る情報処理方法によれば、ハードウェア上におけるニューラルネットワークの実行予測情報を提示することが可能となる。また、本実施形態に係る実行予測情報は、統計情報の更新に基づいて、リアルタイムに算出される情報であってよい。ユーザは、実行予測情報を確認することで、ニューラルネットワークを実装するハードウェアの制限情報を逸脱しないように、ビジュアルプログラミングを行うことができる。
【0069】
なお、図12には示していないが、本実施形態に係る実行予測情報は、ハードウェアの制限情報と比較して提示されてもよい。この場合、ユーザは、ハードウェアの制限に係る各項目の上限値を確認しながら、ニューラルネットワークを構築することが可能となる。
【0070】
<<2.7.クラウドリソースの見積情報の算出>>
次に、本実施形態に係るクラウドリソースの見積情報の算出について説明する。本実施形態に係る情報処理方法では、統計情報と、クラウドサービスから取得した情報と、に基づいて、ニューラルネットワークによる処理を実行するためのクラウド上のコンピューティングリソースに係る見積情報を算出することができる。また、本実施形態に係る情報処理方法では、算出した上記の見積情報における各項目を変数として扱い、各項目の値を変更することができる。この場合、変更された項目の値に基づいて、他の項目の値が更新されてよい。以下、図13を参照して、上記の機能について詳細に説明する。
【0071】
図13は、ニューラルネットワークによる処理を実行するためのクラウドリソースに係る見積情報の一例を示す図である。本実施形態に係る見積情報は、サーバ30のプログラム作成部310が、統計情報と、クラウドサービスから取得した情報と、を基に算出した値であってよい。なお、クラウドサービスから取得する情報には、提供されるインスタンスの仕様や金額情報が含まれてよい。なお、インスタンスの仕様には、インスタンスに用いられるGPU(GraPhics Processing Unit)や、CPU(Central Processing Unit)などの情報が含まれてよい。また、本実施形態に係る見積情報は、図5に示したフォームF1上のパレットP3に表示されてよい。
【0072】
図13を参照すると、本実施形態に係る見積情報には、提供されるインスタンスのタイプ、当該インスタンスの数、金額情報、及びニューラルネットワークによる学習時間が含まれている。プログラム作成部310は、レイヤー構成に基づいて算出される統計情報の更新に応じて、上記の項目をリアルタイムで算出することができる。具体的には、本実施形態に係る見積情報は、下記の数式(4)を用いて算出されてよい。
【0073】
【数3】
【0074】
なお、上記の数式(4)において、f及びgは任意の関数であってよい。また、zはインスタンスタイプを示し、yは、インスタンス数、金額、及び学習時間を示す。また、xは、統計情報、入力データの数、及び識別問題におけるクラス数を示す。第1項は、Categorical cross entropyであり、カテゴリ値であるzに対する誤差関数であってよい。また、第2項は二乗誤差項であり、連続値に対する誤差関数であってよい。なお、識別問題におけるクラス数、関数f及びgは、ニューラルネットワークによる学習によって求められてよい。
【0075】
以上、本実施形態に係る見積情報の算出について説明した。続いて、本実施形態に係る見積情報の変更について詳細に説明する。上述したとおり、本実施形態に係る情報処理方法では、算出した見積情報における各項目を変数として扱い、各項目の値を変更することができる。また、見積情報における項目の値が変更された場合、プログラム作成部310は、当該項目の値の変更に基づいて、他の項目の値を再計算することができる。例えば、ユーザにより金額の値が変更された場合、プログラム作成部310は、見積情報における金額の値が変更されたことに基づいて、インスタンスタイプ、インスタンスの数、及び学習時間の値を再計算する。この際、各項目の値の計算は、下記の数式(5)によって算出されてよい。なお、ユーザが指定した項目については、該当する推定関数の代わりに、ユーザが指定した値が用いられる。
【0076】
【数4】
【0077】
上記の数式(5)において、f、g及びhは任意の関数であってよい。また、y〜yは、それぞれ、インスタンスタイプ、インスタンス数、金額、及び学習時間を示す。なお、上記の数式(5)において、y、バックスラッシュ、及びj(1〜4)で表される値は、当該バックスラッシュに続くj番目の目的変数のみを除いたすべてのyを意味している。これにより、目的変数を説明変数に含むことなく計算を行うことができる。
【0078】
また、上記の数式(5)において、xは、統計情報、入力データの数、及び識別問題におけるクラス数を示す。第1項は、Categorical cross entropyであり、カテゴリ値であるyバックスラッシュ1に対する誤差関数であってよい。また、第2項、第3項、及び第4項は二乗誤差項であり、連続値に対する誤差関数であってよい。なお、識別問題におけるクラス数、関数f、g、及びhは、ニューラルネットワークによる学習によって求められてよい。すなわち、学習によりデータが蓄積することで、上記の数式(5)の精度が向上することが期待される。
【0079】
上記のように、本実施形態に係る情報処理方法によれば、ニューラルネットワークによる処理を実行するためのクラウド上のコンピューティングリソースに係る見積情報を提示することが可能となる。また、本実施形態に係る見積情報は、統計情報の更新に基づいて、リアルタイムに算出される情報であってよい。さらに、本実施形態に係る情報処理方法では、見積情報に含まれる任意の項目の値が指定されたことに基づいて、当該項目を除く他の項目の値が再計算されて提示されてよい。これにより、ユーザは、クラウドリソースの金額情報と、ニューラルネットワークによる学習時間と、のトレードオフを判断しながら、ビジュアルプログラミングを行うことができる。
【0080】
<<2.8.統計情報、プロパティ、及び見積情報の連動>>
次に、本実施形態に係る統計情報、プロパティ、及び見積情報の連動について詳細に説明する。上述したとおり、本実施形態に係る統計情報はレイヤー構成に基づいて算出され、本実施形態に係る見積情報は統計情報に基づいて算出される。一方、本実施形態に係るプロパティに設定される値は、統計情報が変更されたことに基づいて動的に変更されてよい。また、本実施形態に係る統計情報は、見積情報が変更されたことに基づいて、動的に変更されてよい。以下、図14を参照して、本実施形態に係る上記の機能について詳細に説明する。
【0081】
図14は、本実施形態に係るプロパティ、統計情報、及び見積情報の関係を説明するための図である。図14を参照すると、本実施形態に係る情報処理方法では、プロパティの値が変更されたことに基づいて、統計情報を動的に変更することができる。また、この際、動的に変更された統計情報に基づいて、見積情報がさらに変更されてよい。
【0082】
さらに、本実施形態に係る情報処理方法では、見積情報が変更されたことに基づいて、統計情報が動的に変更されてもよい。また、この際、動的に変更された統計情報に基づいて、プロパティの値がさらに変更されてもよい。
【0083】
以下、統計情報の変更に基づいてプロパティの値が変更される場合を例に説明する。この際、統計情報の各項目は変数として扱われ、ユーザにより値が指定されてもよい。また、統計情報の変更に基づくプロパティ値の変更は、各レイヤーの寄与率に応じて、行われてよい。ここでは、Input、Convolution、Affine、及びOutputの各レイヤーの順に処理が行われるニューラルネットワークを想定して説明する。
【0084】
上記のレイヤー構成に係るニューラルネットワークにおいて、Convolution、及びAffineレイヤーのパラメータ数が、それぞれ400及び7840である場合、レイヤーの寄与率は、それぞれ、4.85及び95.15として算出され得る。本実施形態に係るプログラム作成部310は、上記の方法により算出した寄与率に応じて、変更された統計情報のパラメータ数を、Convolution、及びAffineレイヤーに分配し、各レイヤーの値を動的に変更することができる。
【0085】
以上説明したように、本実施形態に係る情報処理方法によれば、統計情報、プロパティ、及び見積情報の値を動的に連動させることが可能となる。これにより、ユーザの負担を軽減し、ニューラルネットワークの開発に係る効率をさらに向上させることができる。
【0086】
<<2.9.レイヤーに係る比較情報の提示>>
次に、本実施形態のレイヤーに係る比較情報の提示について説明する。本実施形態に係る情報処理方法では、統計情報を構成する各レイヤーの比較情報をユーザに提示することが可能である。情報処理端末10のフォーム制御部130は、サーバ30から取得した情報を基に、上記の比較情報をフォームに表示させることができる。図15は、本実施形態に係る比較情報の表示例を示す図である。
【0087】
図15の一例は、パレットP3上に表示される統計情報I2において、「CostParameter」が選択された場合を示している。また、図15を参照すると、パレットP2には、レイヤー構成に加え、複数の数値及びバーが表示されている。ここで、数値及びバーは、選択された統計情報の項目に係る各レイヤーの比較情報であってよい。すなわち、図15では、各レイヤーにおける「CostParameter」の値が数値とバーにより示されている。図15を参照すると、例えば、「Convolution #1」レイヤーにおける「CostParameter」は416であることが分かる。また、Convolution #2」レイヤーにおける「CostParameter」は6416であることが分かる。
【0088】
また、上記の比較情報に含まれるバーは、項目の値の大きさを示すインジケータであってよい。すなわち、比較情報に含まれるバーは、項目の値が大きいほど長く表示されてよい。この際、バーの長さは、値の絶対値により定められてもよいし、各レイヤーにおける値との相対値により定められてもよい。
【0089】
以上説明したように、本実施形態に係る情報処理方法によれば、統計情報を構成する各レイヤーの比較情報をユーザに提示することが可能となる。これにより、ユーザは、各レイヤーの演算量を直観的に知覚することができ、ニューラルネットワークのレイヤー構成を変更する際などの参考にすることができる。
【0090】
<<2.10.ニューラルネットワークに係る実行結果の提示>>
次に、本実施形態のニューラルネットワークに係る実行結果の提示について説明する。本実施形態に係る情報処理方法では、エミュレータまたはデバイス40上で実行されたニューラルネットワークの実行結果を取得し、当該実行結果をユーザに提示することが可能である。エミュレータ部320は、プログラム作成部310が作成したニューラルネットワークに係るプログラムをエミュレータ上で実行し、実行結果を取得することができる。また、エミュレータ部320は、プログラム作成部310が作成したニューラルネットワークに係るプログラムをデバイス40に実行させ、実行結果を取得することができる。
【0091】
図16は、本実施形態に係る実行結果の一例を示す図である。図16を参照すると、本実施形態に係る実行結果には、ニューラルネットワークによる学習時間、メモリ使用量、電力消費量、及び演算量が含まれている。なお、本実施形態に係る実行結果は、図5に示したフォームF1上のパレットP3に表示されてよい。
【0092】
以上説明したように、本実施形態に係る情報処理方法によれば、エミュレータまたはデバイス40上で実行されたニューラルネットワークの実行結果をユーザに提示することが可能となる。これにより、ユーザは、作成したニューラルネットワークの実行結果を、開発画面上で確認することが可能となる。
【0093】
<3.ハードウェア構成例>
次に、本開示に係る情報処理端末10、サーバ30、及びデバイス40に共通するハードウェア構成例について説明する。図17は、本開示に係る情報処理端末10、サーバ30、及びデバイス40のハードウェア構成例を示すブロック図である。図17を参照すると、情報処理端末10、サーバ30、及びデバイス40は、例えば、CPU871と、ROM872と、RAM873と、ホストバス874と、ブリッジ875と、外部バス876と、インターフェース877と、入力部878と、出力部879と、記憶部880と、ドライブ881と、接続ポート882と、通信部883と、を有する。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ここで示される構成要素以外の構成要素をさらに含んでもよい。
【0094】
(CPU871)
CPU871は、例えば、演算処理装置又は制御装置として機能し、ROM872、RAM873、記憶部880、又はリムーバブル記録媒体901に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。
【0095】
(ROM872、RAM873)
ROM872は、CPU871に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM873には、例えば、CPU871に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【0096】
(ホストバス874、ブリッジ875、外部バス876、インターフェース877)
CPU871、ROM872、RAM873は、例えば、高速なデータ伝送が可能なホストバス874を介して相互に接続される。一方、ホストバス874は、例えば、ブリッジ875を介して比較的データ伝送速度が低速な外部バス876に接続される。また、外部バス876は、インターフェース877を介して種々の構成要素と接続される。
【0097】
(入力部878)
入力部878には、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部878としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
【0098】
(出力部879)
出力部879には、例えば、CRT(Cathode Ray Tube)、LCD、又は有機EL等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。
【0099】
(記憶部880)
記憶部880は、各種のデータを格納するための装置である。記憶部880としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。
【0100】
(ドライブ881)
ドライブ881は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体901に記録された情報を読み出し、又はリムーバブル記録媒体901に情報を書き込む装置である。
【0101】
(リムーバブル記録媒体901)
リムーバブル記録媒体901は、例えば、DVDメディア、Blu−ray(登録商標)メディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体901は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。
【0102】
(接続ポート882)
接続ポート882は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子等のような外部接続機器902を接続するためのポートである。
【0103】
(外部接続機器902)
外部接続機器902は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。
【0104】
(通信部883)
通信部883は、ネットワーク903に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、又は各種通信用のモデム等である。
【0105】
<4.まとめ>
以上説明したように、本開示に係る情報処理方法では、配置されるレイヤーと、当該レイヤーに設定されるプロパティと、に基づいて、ニューラルネットワークを構築するプログラムを作成するためのフォームを提供することができる。また、本開示に係る情報処理方法では、上記ニューラルネットワークに係る統計情報を提示することができる。係る構成によれば、ニューラルネットワークの開発効率を向上させる情報をユーザに提示することが可能となる。
【0106】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0107】
例えば、上記実施形態では、サーバ30が、レイヤー構成の変更に基づいて、統計情報をリアルタイムに算出する場合を例に説明したが、本技術はかかる例に限定されない。例えば、レイヤー構成の変更に基づく統計情報の算出は、情報処理端末10により実現されてもよい。この場合、情報処理端末10のフォーム制御部130が、レイヤー構成の変更に基づいて、統計情報をリアルタイムに算出することができる。また、統計情報の更新は、必ずしもリアルタイムに行われなくてもよい。例えば、プログラム作成部310は、ユーザによりレイヤー構成の編集を確定する処理が行われたことに基づいて、統計情報の更新を行ってもよい。
【0108】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【0109】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
プロセッサが、配置されるコンポーネントと、前記コンポーネントに設定されるプロパティと、に基づいて、ニューラルネットワークを構築するプログラムを作成するためのフォームを提供することと、
前記ニューラルネットワークに係る統計情報を提示することと、
を含む、情報処理方法。
(2)
前記統計情報には、前記ニューラルネットワークにおけるアウトプットユニットの数、処理されるパラメータ数、または演算種類ごとの演算量のうち、少なくとも1つが含まれる、
前記(1)に記載の情報処理方法。
(3)
前記フォーム上に配置される前記コンポーネント、または前記コンポーネントに設定されるプロパティが変更されたことに基づいて算出される前記統計情報をリアルタイムに提示する、
前記(1)または(2)に記載の情報処理方法。
(4)
前記統計情報と、前記ニューラルネットワークが実装されるハードウェアのプロファイルと、に基づいて算出される前記ハードウェアにおける前記ニューラルネットワークの実行予測情報を提示すること、
をさらに含む、
前記(1)〜(3)のいずれかに記載の情報処理方法。
(5)
前記実行予測情報には、前記ニューラルネットワークによる処理の実行時間、メモリ使用量、消費電力、または演算量のうち、少なくとも1つが含まれる、
前記(4)に記載の情報処理方法。
(6)
前記統計情報が前記ハードウェアにおける制限情報を逸脱したことに基づいて生成されるアラート情報を提示すること、
をさらに含む、
前記(4)または(5)に記載の情報処理方法。
(7)
前記統計情報を基に算出される、前記ニューラルネットワークによる処理を実行するためのクラウド上のコンピューティングリソースに係る見積情報を提示すること、
をさらに含む、
前記(1)〜(6)のいずれかに記載の情報処理方法。
(8)
前記コンピューティングリソースに係る見積情報には、インスタンスのタイプ、前記インスタンスの数、金額、または前記コンピューティングリソース上に実装された前記ニューラルネットワークによる処理時間のうち少なくとも1つが含まれる、
前記(7)に記載の情報処理方法。
(9)
前記統計情報の値を変更するユーザの操作を受け付け、当該操作に基づいて変更される前記コンポーネントのプロパティ値と前記コンピューティングリソースに係る見積情報と、をリアルタイムに提示すること、
をさらに含む、
前記(7)または(8)に記載の情報処理方法。
(10)
前記コンピューティングリソースに係る見積情報の値を変更するユーザの操作を受け付け、当該操作に基づいて変更される前記コンポーネントのプロパティ値と前記統計情報と、をリアルタイムに提示すること、
をさらに含む、
前記(7)〜(9)のいずれかに記載の情報処理方法。
(11)
前記統計情報に含まれる要素を選択するユーザの操作を受け付け、選択された前記要素の値を、前記コンポーネントごとに比較して提示すること、
をさらに含む、
前記(1)〜(10)のいずれかに記載の情報処理方法。
(12)
前記コンポーネントごとの前記要素の値と、当該要素の値の大きさを示すインジケータと、を前記フォーム上に配置された前記コンポーネントに関連付けて提示する、
前記(11)に記載の情報処理方法。
(13)
エミュレータ上における前記ニューラルネットワークの実行結果を提示すること、
をさらに含む、
前記(1)〜(12)のいずれかに記載の情報処理方法。
(14)
ハードウェア上における前記ニューラルネットワークの実行結果を提示すること、
をさらに含む、
前記(1)〜(13)のいずれかに記載の情報処理方法。
(15)
前記実行結果には、前記ニューラルネットワークによる処理の実行時間、メモリ使用量、消費電力、または演算量のうち、少なくとも1つが含まれる、
前記(13)または(14)に記載の情報処理方法。
(16)
配置されるコンポーネントと、前記コンポーネントに設定されるプロパティと、に基づいて、ニューラルネットワークを構築するプログラムを作成するためのフォームを提供するフォーム制御部、
を備え、
前記フォーム制御部は、前記ニューラルネットワークに係る統計情報を提示する、
情報処理装置。
(17)
フォーム上に配置されるコンポーネントと、前記コンポーネントに設定されるプロパティと、に基づいて、ニューラルネットワークを構築するプログラムを作成するプログラム作成部、
を備え、
前記プログラム作成部は、前記ニューラルネットワークに係る統計情報を算出する、
情報処理装置。
【符号の説明】
【0110】
10 情報処理端末
110 表示部
120 入力部
130 フォーム制御部
140 サーバ通信部
20 ネットワーク
30 サーバ
310 プログラム作成部
320 エミュレータ部
330 端末通信部
40 デバイス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
【国際調査報告】