JP6574503B2 - 機械学習方法および装置 - Google Patents

機械学習方法および装置 Download PDF

Info

Publication number
JP6574503B2
JP6574503B2 JP2018041353A JP2018041353A JP6574503B2 JP 6574503 B2 JP6574503 B2 JP 6574503B2 JP 2018041353 A JP2018041353 A JP 2018041353A JP 2018041353 A JP2018041353 A JP 2018041353A JP 6574503 B2 JP6574503 B2 JP 6574503B2
Authority
JP
Japan
Prior art keywords
neural network
similarity
kernel
machine learning
convolutional neural
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018041353A
Other languages
English (en)
Other versions
JP2019032808A (ja
Inventor
サンギュ シム
サンギュ シム
ソクウ リ
ソクウ リ
スンヨン パク
スンヨン パク
ドクス キム
ドクス キム
Original Assignee
ペンタ・セキュリティ・システムズ・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ペンタ・セキュリティ・システムズ・インコーポレーテッド filed Critical ペンタ・セキュリティ・システムズ・インコーポレーテッド
Publication of JP2019032808A publication Critical patent/JP2019032808A/ja
Application granted granted Critical
Publication of JP6574503B2 publication Critical patent/JP6574503B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/192Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
    • G06V30/194References adjustable by an adaptive method, e.g. learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は機械学習方法および装置に関するもので、さらに詳細には、コンボリューショナルニューラルネットワークを改善するための機械学習方法および装置に関するものである。
マシンラーニング(machine learning;機械学習)とは、人工知能(Artificial Intelligence:AI)の一種であって、データを基盤としてコンピュータが自ら学習した内容に基づいて回帰、分類、群集化などの予測作業を行うことをいう。
ディープラーニング(deep learning)は、人の考え方をコンピュータに教える機械学習の一分野であり、多様な非線形変換技法の組み合わせを通じて高い水準の抽象化(abstractions、多量のデータや複雑な資料の中から核心的な内容または機能を要約する作業)を試みる機械学習(machine learning)アルゴリズムの集合と定義することができる。
ディープラーニング構造は、人工ニューラルネットワーク(ANN、artificial neural networks)に基づいて設計された概念である。人工ニューラルネットワークは、仮想のニューロンを数学的にモデリングした後にシミュレーションして、人間の脳のような学習能力を持たせようとするアルゴリズムであって、主にパターン認識に多く用いられる。ディープラーニングで利用する人工ニューラルネットワークモデルは、線形フィッテイング(linear fitting)と非線形変換(nonlinear transformation or activation)を繰り返して積み上げた構造を有する。ディープラーニングで用いるニューラルネットワークモデルは、ディープニューラルネットワーク(Deep Neural Network、DNN)、コンボリューショナルニューラルネットワーク(Convolutional Neural Network、CNN)、リカレントニューラルネットワーク(Recurrent Neural Network、RNN)、制限ボルツマンマシン(Restricted Boltzmann Machine、RBM)、ディープ信頼ニューラルネットワーク(Deep Belief Network、DBN)、ディープQ−ネットワーク(Deep Q−Networks)等が挙げられる。
ディープラーニングの訓練過程においては、学習データをもって人工ニューラルネットワークモデルのパラメーターを最適化させることができる。ところが、学習データの量を無限に増やすことはできない。したがって、訓練に利用した学習データと統計的特性が異なるデータに対する予測作業を行う場合、人工ニューラルネットワークの性能が制限され得る。
前述した問題点を解決するために、学習データと統計的特性が異なるデータがある場合、これに対する予測性能が改善できる人工ニューラルネットワークの漸進的学習方法が要求されている。
前記のような問題点を解決するための本発明の目的は、訓練データとは統計的特性が異なる対象データに対する予測性能を改善するために更新しなければならない人工ニューラルネットワークの一部のノードを識別する方法および装置を提供することである。
一側面において、対象データの入力を受ける段階;前記コンボリューショナルニューラルネットワークに対する前記対象データの統計的特性と前記コンボリューショナルニューラルネットワークに対するあらかじめ使用された訓練データの統計的特性との差に基づいて、漸進的学習開始の可否を判断する段階;前記漸進的学習を開始すると判断した場合、前記コンボリューショナルニューラルネットワークに含まれたそれぞれのコンボリューションレイヤーで相互間の類似度が高いカーネルの集合を決定する段階;前記相互間の類似度が高いカーネルの集合に含まれたカーネルが適用されるノード間の加重値を更新する段階;を含む機械学習方法が開示される。
前記漸進的学習開始の可否を判断する段階は、前記対象データに対する前記コンボリューショナルニューラルネットワークの出力値のうち最大値をあらかじめ選定した基準値と比較し、前記コンボリューショナルニューラルネットワークの出力値のうち最大値が前記基準値よりも小さい場合、前記漸進的学習を開始すると判断することができる。
前記対象データが、複数個のデータからなるデータパッチである場合、前記データパッチに含まれたデータのうち、前記コンボリューショナルニューラルネットワークの出力値のうち最大値があらかじめ選定した基準値よりも小さい条件を満足するデータの個数が基準個数以上の場合、前記漸進的学習を開始すると判断することができる。
前記相互間の類似度が高いカーネルの集合を決定する段階は、カーネル間の距離または類似度を測定することによって、前記相互間の類似度が高いカーネルペアを少なくとも一つ以上決定することができる。
前記相互間の類似度が高いカーネルの集合を決定する段階は、カーネル間の差の絶対値、コーダル距離(chordal distance、KL発散(KL divergence)、交差カーネル(intersection kernel)、カイ二乗カーネル(Chi−square kernel)のうち少なくとも一つに基づいて、前記相互間の類似度が高いカーネルペアを少なくとも一つ以上決定することができる。
前記相互間の類似度が高いカーネルの集合を決定する段階は、同じノードのコンボリューション演算に利用されるカーネルからカーネル連結行列(Concatenated kernel matrix)を構成し、前記カーネル連結行列間の距離または類似度を測定することによって、前記相互間の類似度が高いカーネル連結行列ペアを少なくとも一つ以上決定することができる。
前記相互間の類似度が高いカーネルの集合を決定する段階は、前記カーネル連結行列間の差の絶対値、二乗差、p−ノルム(p−norm)、プロベニウス−ノルム(Frobenius−norm)、コーダル距離(Chordal distance)、KL発散(KL divergence)、交差カーネル(intersection kernel)、カイ二乗カーネル(Chi−square kernel)のうち少なくとも一つに基づいて、前記相互間の類似度が高いカーネルの集合を決定することができる。
前記機械学習方法は、前記相互間の類似度が高いカーネルの集合に含まれたカーネルのそれぞれをランダム行列を利用して更新する段階;をさらに含むことができる。
前記機械学習方法は、前記漸進的学習を開始すると判断した場合、前記コンボリューショナルニューラルネットワークに含まれたそれぞれの完全連結レイヤー(fully connected layer)で相互間の類似度が高いウェイトベクトル(Weight vector)の集合を決定する段階;および前記相互間の類似度が高いウェイトベクトルの集合に含まれたウェイトベクトルが適用されるノード間の加重値を更新する段階;をさらに含むことができる。
前記相互間の類似度が高いウェイトベクトルの集合を決定する段階は、ウェイトベクトル間の差の距離または類似度を測定することによって、前記相互間の類似度が高いウェイトベクトルペアを少なくとも一つ以上決定することができる。
前記相互間の類似度が高いウェイトベクトルの集合を決定する段階は、ウェイトベクトル間の差の絶対値、二乗差、p−ノルム(p−norm)、ユークリッド−ノルム(Euclidean−norm)、コサイン距離(cosine distance)、マハラノビス距離(Mahalanobis distance)、コーダル距離(Chordal distance)、KL発散(KL divergence)、交差カーネル(intersection kernel)、およびカイ二乗カーネル(Chi−square kernel)のうち少なくとも一つに基づいて、前記相互間の類似度が高いウェイトベクトルペアを少なくとも一つ以上決定することができる。
前記機械学習方法は、前記相互間の類似度が高いウェイトベクトルの集合に含まれたウェイトベクトルのそれぞれを、ランダムベクトルを利用して更新する段階;をさらに含むことができる。
前記ノード間の加重値を更新する段階は、教師あり学習方式および教師なし学習方式のうち少なくとも一つを利用して前記ノード間の加重値を更新することができる。
前記教師なし学習方式によって前記ノード間の加重値を更新する場合、前記コンボリューショナルニューラルネットワークの出力を、前記コンボリューショナルニューラルネットワークに対称的な構造を有する対称ニューラルネットワークに入力させ、前記対称ニューラルネットワークの出力と、前記コンボリューショナルニューラルネットワークに対する入力との間の差に基づいて、前記ノード間の加重値を更新することができる。
前記対称ニューラルネットワークは、前記コンボリューショナルニューラルネットワークの全体連結レイヤーに対応する逆方向全体連結レイヤー(backward fully connected layer)と、前記コンボリューショナルニューラルネットワークのコンボリューションレイヤーおよびプーリングレイヤーに対応するデコンボリューションレイヤーおよびアンプーリングレイヤーを含むことができる。
他の側面において、プロセッサ(processor);および前記プロセッサを介して実行される少なくとも一つの命令が保存されたメモリ(memory)を含み、前記少なくとも一つの命令は、対象データの入力を受けて;前記コンボリューショナルニューラルネットワークに対する前記対象データの統計的特性と前記コンボリューショナルニューラルネットワークに対するあらかじめ使用された訓練データの統計的特性との差に基づいて、漸進的学習開始の可否を判断し;前記漸進的学習を開始すると判断した場合、前記コンボリューショナルニューラルネットワークに含まれたそれぞれのコンボリューションレイヤーで相互間の類似度が高いカーネルの集合を決定し;前記相互間の類似度が高いカーネルの集合に含まれたカーネルが適用されるノード間の加重値を更新するように遂行される機械学習装置が提供される。
前記少なくとも一つの命令は、カーネル間の差の絶対値、コーダル距離(chordal distance、KL発散(KL divergence)、交差カーネル(intersection kernel)、カイ二乗カーネル(Chi−square kernel)のうち少なくとも一つに基づいて、前記相互間の類似度が高いカーネルペアを少なくとも一つ以上決定するように遂行され得る。
前記少なくとも一つの命令は、同じノードのコンボリューション演算に利用されるカーネルからカーネル連結行列(Concatenated kernel matrix)を構成し、前記カーネル連結行列間の差の絶対値、二乗差、p−ノルム(p−norm)、プロベニウス−ノルム(Frobenius−norm)、コーダル距離(Chordal distance)、KL発散(KL divergence)、交差カーネル(intersection kernel)、カイ二乗カーネル(Chi−square
kernel)のうち少なくとも一つに基づいて、前記相互間の類似度が高いカーネルの集合を決定するように遂行され得る。
前記少なくとも一つの命令は、前記漸進的学習を開始すると判断した場合、前記コンボリューショナルニューラルネットワークに含まれたそれぞれの完全連結レイヤー(fully connected layer)で相互間の類似度が高いウェイトベクトル(Weight vector)の集合を決定し、前記相互間の類似度が高いウェイトベクトルの集合に含まれたウェイトベクトルが適用されるノード間の加重値を更新するように遂行され得る。
前記少なくとも一つの命令は、ウェイトベクトル間の差の絶対値に基づいて、前記相互間の類似度が高いウェイトベクトルペアを少なくとも一つ以上決定するように遂行され得る。
開示された実施例によると、コンボリューショナルニューラルネットワークの学習に利用された訓練データと統計的特性が異なる対象データを発見することができる。そして、統計的特性が異なる対象データが発見された場合、コンボリューショナルニューラルネットワークに対して漸進的学習を開始することによって、コンボリューショナルニューラルネットワークの性能が向上され得る。また、相互間の類似度が高いカーネルまたはウェイトベクトルが適用されるノード間の加重値を選択的に更新する過程を経ることによって、機械学習の訓練効率が向上され得る。
例示的な実施例に係る機械学習装置を示したブロック図。 本発明の第1実施例に係るコンボリューショナルニューラルネットワークを示した概念図。 文字列から生成された点字のイメージを示した概念図。 コンボリューション演算を例示的に示した概念図。 プロセッサが図4に示したイメージからコンボリューションイメージを抽出したことを示した概念図。 図2に示したコンボリューションおよびプーリングレイヤーの動作を示した概念図。 本発明の第2実施例に係る機械学習方法を示したフローチャート。 相互間の類似度が高いカーネルの集合を決定する方式の第1実施例を示した概念図。 相互間の類似度が高いカーネルの集合を決定する方式の第2実施例を示した概念図。 本発明の第3実施例に係る機械学習方法を示した概念図。 本発明の第4実施例に係るニューラルネットワークを示した概念図。
本発明は多様な変更を加えることができ、多様な実施例を有することができるところ、特定の実施例を図面に例示し、詳細な説明に詳細に説明する。しかし、これは本発明を特定の実施形態に限定するためのものではなく、本発明の思想および技術範囲に含まれるすべての変更、均等物ないし代替物を含むものと理解されるべきである。各図面の説明において、類似の参照符号は類似の構成要素に付与した。
第1、第2、A、Bなどの用語は多様な構成要素の説明に使われ得るが、前記構成要素は前記用語によって限定されてはならない。前記用語は一つの構成要素を別の構成要素から区別する目的でのみ使われる。例えば、本発明の権利範囲を逸脱することなく、かつ第1構成要素は第2構成要素と命名され得、同様に第2構成要素も第1構成要素と命名され得る。「および/または」という用語は、複数の関連して記載された項目の組み合わせまたは複数の関連して記載された項目中のいずれかの項目を含む。
ある構成要素が別の構成要素に「連結されて」いるとか「接続されて」いると言及された時には、その他の構成要素に直接的に連結されているかまたは接続されていることもあり得るが、中間に他の構成要素が存在することもあり得ると理解されるべきである。反面、ある構成要素が他の構成要素に「直接連結されて」いるとか「直接接続されて」いると言及された時には、中間に他の構成要素が存在しないものと理解されるべきである。
本出願で使った用語は単に特定の実施例を説明するために使われたものであって、本発明を限定しようとする意図ではない。単数の表現は文脈上明白に異なることを意味しない限り、複数の表現を含む。本出願において、「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定するためのものであり、一つまたはそれ以上の別の特徴や数字、段階、動作、構成要素、部品またはこれらを組み合わせたものなどの存在または付加の可能性をあらかじめ排除しないものと理解されるべきである。
別途に定義されない限り、技術的又は科学的な用語を含んでここで使われるすべての用語は、本発明が属する技術分野で通常の知識を有する者によって一般に理解されることと同じ意味を有している。一般に使われる辞書に定義されているような用語は、関連技術の文脈上有する意味と一致する意味を有するものと解釈されるべきであり、本出願で明白に定義しない限り、理想的又は過度に形式的な意味に解釈されない。
以下、本発明に係る好ましい実施例を添付図面を参照して詳細に説明する。
本明細書において学習データは、人工ニューラルネットワークを学習させるのにあらかじめ使用されたデータを意味する。対象データは人工ニューラルネットワークに入力される新しいデータであって、あらかじめ使用された学習データと異なるデータであり得る。対象データは、あらかじめ使用された学習データと異なる新しい学習データであり得る。他の例として、対象データは人工ニューラルネットワークの分析対象となるデータであってもよい。
図1は、例示的な実施例に係る機械学習装置100を示したブロック図である。
図1を参照すると、例示的な実施例に係る機械学習装置100は、少なくとも一つのプロセッサ110、メモリ120および保存装置125等を含むことができる。
プロセッサ110はメモリ120および/または保存装置125に保存されたプログラム命令(program command)を実行することができる。プロセッサ110は、中央処理装置(central processing unit;CPU)、グラフィック処理装置(graphics processing unit;GPU)または本発明に係る方法が遂行される専用のプロセッサを意味し得る。メモリ120と保存装置160は、揮発性保存媒体および/または不揮発性保存媒体で構成され得る。例えば、メモリ120は読み取り専用メモリ(read only memory;ROM)および/またはランダムアクセスメモリ(random access memory;RAM)で構成され得る。
メモリ120はプロセッサ110を介して実行される少なくとも一つの命令を保存していてもよい。
メモリ120に保存された命令は、プロセッサ110の機械学習によってアップデートされ得る。プロセッサ110は機械学習によってメモリに保存された命令を変更することができる。プロセッサ110が遂行する機械学習は、教師あり学習方式または教師なし学習方式によって行われ得る。しかし、実施例はこれに制限されるものではない。例えば、機械学習は強化学習などの他の方式によって行われてもよい。
図2は、本発明の第1実施例に係るコンボリューショナルニューラルネットワークを示した概念図である。
図2を参照すると、コンボリューショナルニューラルネットワークは、少なくとも一つのコンボリューションおよびプーリングレイヤー(convolution & pooling layer)と、少なくとも一つの全体連結レイヤー(fully connected layer)を含むことができる。図2では、一つのレイヤーでコンボリューション動作およびプーリング動作が行われる例を示したが、実施例はこれに制限されるものではない。例えば、コンボリューション動作が遂行されるレイヤーとプーリング動作が遂行されるレイヤーが互いに分離されていてもよい。また、コンボリューショナルニューラルネットワークはプーリング動作を遂行しなくてもよい。
コンボリューショナルニューラルネットワークは入力を受けたデータの特徴を抽出し、入力を受けたデータよりもスケールが小さい出力データを生成して出力することができる。コンボリューショナルニューラルネットワークは、イメージまたはそれに対応する行列の入力を受けることができる。コンボリューショナルニューラルネットワークが入力を受けることができるデータは、一般的なイメージに限定されないこともある。例えば、コンボリューショナルニューラルネットワークは文字列から生成された点字のイメージの入力を受けることもできる。
図3は文字列から生成された点字のイメージを示した概念図である。
図3を参照すると、文字列の最後の文字から逆順でone−hot vectorに変換して行列の形態に変換する方法を利用して、点字のイメージを生成することができる。one−hot vectorは、一つの成分のみが1であり、残りの成分は0であるかすべての成分が0であり得る。one−hot vectorにおいて、「1」値を有する成分の位置は、one−hot vectorが示す文字の種類によって変わり得る。例えば、図3に示した通り、アルファベットのC、F、B、Dのそれぞれに対応するone−hot vectorは互いに異なる位置の成分が「1」値を有し得る。図3に示した点字のイメージは例示的なものに過ぎず、実施例はこれに制限されるものではない。例えば、one−hot vectorの大きさは、図3に示したものよりも大きくてもよい。one−hot vectorは、テキスト集合テキスト合計「abcdefghijklmnopqrstuvwxyz0123456789−、;.!?:“ウォン”/ウォンウォン|_@#$%^&*〜′+−=<>()[]{}」を表現することができる。one−hot vectorにおいて、「1」成分の位置はone−hot vectorが示す文字の順序により変わり得る。
コンボリューションおよびプーリングレイヤーはイメージまたは行列の入力を受け、入力を受けたイメージまたは行列に対してコンボリューション演算を遂行することができる。
図4は、コンボリューション演算を例示的に示した概念図である。
図4を参照すると、プロセッサ110は、カーネルFIを利用して入力イメージOIに対するコンボリューション演算を遂行することができる。カーネルFIはイメージOIのピクセルの個数よりも小さい大きさの行列であり得る。例示的に、フィルタカーネルFIの(1、1)成分は0であり得る。したがって、コンボリューションを計算する時、カーネルFIの(1、1)成分に対応するイメージOIのピクセルに対して0を乗算してもよい。他の例として、カーネルFIの(2、1)成分は1である。したがって、コンボリューションを計算する時、カーネルFIの(2、1)成分に対応するイメージOIのピクセルに対して1を乗算してもよい。
プロセッサ110はイメージOI上でカーネルFIの位置を変更しながら、イメージOIに対するコンボリューション演算を遂行することができる。そして、プロセッサ110は計算されたコンボリューション値からコンボリューションイメージを出力することができる。
図5は、プロセッサ110が図4に示したイメージOIからコンボリューションイメージを抽出したことを示した概念図である。
図4に示したフィルタカーネルFIが、イメージOI上で動くことができる場合の数が(10−3+1)×(10−3+1)=8×8個であるため、プロセッサ110は8×8個のコンボリューション値を計算することができる。そして、8×8個のコンボリューション値から図6に示したような8×8ピクセルの大きさのコンボリューションイメージを抽出することができる。コンボリューションイメージCIのピクセルの個数は、原本イメージOIよりも小さくなるようになる。プロセッサ110は、カーネルFIを利用することによって、原本イメージの特性が反映されたコンボリューションイメージを抽出することができる。プロセッサ110は、カーネルFIを利用して入力されたイメージOIよりも大きさが小さく、入力されたイメージOIの特性を反映するコンボリューションイメージCIを出力することができる。コンボリューション演算はコンボリューションレイヤーまたはコンボリューションおよびプーリングレイヤーで遂行され得る。
図6は、図2に示したコンボリューションおよびプーリングレイヤーの動作を示した概念図である。
図6では便宜上、コンボリューショナルニューラルネットワークの入力レイヤー(Input layer 0)と、第1コンボリューションおよびプーリングレイヤー(Convolution & pooling layer 1)のみを示した。図6を参照すると、入力レイヤーは複数個のイメージの入力を受けることができる。入力レイヤーは複数個の行列の入力を受けることもできる。入力イメージは、コンボリューションおよびプーリングレイヤーでコンボリューション演算を遂行するノードに伝達され得る。F(0)個の入力イメージはM(0)×L(0)の大きさを有することができる。例えば、128x128のRGBイメージの場合、F(0)=3、M(0)=L(0)=128のイメージで見ることができ、68種類の文字1000個で構成された文字列の場合、図3に例示された過程を経て、F(0)=68、M(0)=1、L(0)=1000のイメージに変換される。
入力イメージは、最初のコンボリューションおよびプーリングレイヤーのコンボリューション演算を遂行するノードのそれぞれに入力され得る。コンボリューション演算を遂行するノードは、図4および図5を参照して説明したのと同じように、入力イメージに対してコンボリューション演算を遂行することができる。例示的に、最初のコンボリューションおよびプーリングレイヤーで遂行されるコンボリューション演算を数学式1で表すことができる。
数学式1において、φ(l)(・)は活性化関数を意味する。活性化関数は、シグモイド(sigmoid)関数、ハイパータンジェント(hypertangent)関数、整流線形ユニット(rectifier linear unit)等を含むことができる。
数学式1を参照すると、最初のコンボリューションおよびプーリングレイヤーは、F(0)個の入力イメージ(または行列)の入力を受けて、F(1)個の出力イメージ(または行列)を生成することができる。コンボリューション演算によって出力されるイメージ(または行列)の大きさは入力イメージ(または行列)の大きさよりも小さくてもよい。出力イメージ(または行列)はコンボリューション演算に利用されるカーネルにより変わり得る。
他の例として、プーリング演算は数学式3で示すこともできる。
数学式3を参照すると、最初のコンボリューションおよびプーリングレイヤーはP(1)×Q(1)個のピクセルまたは行列成分の平均値を代表値として選択することができる。この場合、プーリング演算は隣接したピクセルまたは成分の平均値を計算する方式で行われ得る。
再び図3を参照すると、コンボリューショナルニューラルネットワークは、N個のコンボリューションおよびプーリングレイヤーを含むことができる。数学式1を一般化して、l番目のコンボリューションおよびプーリングレイヤーで遂行されるコンボリューション演算を数学式4のように示すことができる。
数学式2を一般化して、l番目のコンボリューションおよびプーリングレイヤーで遂行されるプーリング演算は数学式5のように示すことができる。
プーリング演算の他の例として、数学式3を一般化して、l番目のコンボリューションおよびプーリングレイヤーで遂行されるプーリング演算は数学式6のように示すことができる。
最後のコンボリューションおよびプーリングレイヤー(Layer N)で出力されるF(Nc)個のM(Nc)×L(Nc)大きさを有する出力イメージまたは出力行列は次のように表現され得る。
最後のコンボリューションおよびプーリングレイヤー(Layer N)で出力されるイメージまたは行列は最初の全体連結レイヤー(Layer N+1)に入力され得る。最初の全体連結レイヤーは入力を受けたイメージを利用して、1×F(Nc)(Nc)(Nc)(≡∧(Nc))の大きさを有する1次元ベクトルa(Nc)(t) for 0≦t≦∧(Nc)−1に変換することができる。
最初の全体連結レイヤーは変換した1次元ベクトルに対してウェイト(weight)行列を乗算することができる。例示的に、最初の全体連結レイヤーが遂行する演算は数学式7のように示すことができる。
数学式7において、W(Nc+1)(t、u)は、最初の全体連結レイヤーで利用するウェイト行列を意味する。a(Nc+1)(t)は最初の全体連結レイヤーで出力されるベクトルを意味する。a(Nc+1)(t)は1次元ベクトルであり得る。∧(Nc+1)は最初の全体連結レイヤーで出力されるベクトルa(Nc+1)(t)の大きさを意味する。
数学式7を参照すると、最初の全体連結レイヤーは∧(Nc)大きさのベクトルからウェイト行列を利用して∧(Nc+1)大きさのベクトルを出力することができる。
図3を参照すると、コンボリューショナルニューラルネットワークは、N個の全体連結レイヤーを含むことができる。数学式7を一般化して、l番目の全体連結レイヤーで遂行される演算は数学式8のように示すことができる。
数学式8において、a(l)(t)はl番目の全体連結レイヤーの出力ベクトルを意味する。W(l)(t,u)はl番目の全体連結レイヤーで利用するウェイト行列を意味する。φ(l)はl番目の全体連結レイヤーで利用する活性化関数を意味する。a(l-1)(u)はl−1番目の全体連結レイヤーの出力ベクトルであって、l番目の全体連結レイヤーに対する入力ベクトルであり得る。
出力レイヤー(Output layer)は最後の全体連結レイヤーの出力ベクトルa(NC+NF)(t)の入力を受けることができる。出力レイヤーは数学式9のようにベクトル演算を遂行することができる。
数学式9において、z(NC+NF+1)(t)は出力レイヤーで出力されるベクトルを意味する。Cは出力ベクトルz(NC+NF+1)(t)のクラス(class)の個数を意味する。
出力レイヤーは数学式9で獲得した出力ベクトルz(NC+NF+1)(t)のそれぞれのクラスに対する最終出力値を計算することができる。出力レイヤーは活性化関数を利用して最終出力値を計算することができる。出力レイヤーの最終出力値の計算過程は数学式10のように示すことができる。
数学式10において、φ(NC+NF+1)は出力レイヤーで利用される活性化関数を意味する。φ(Nc+Nf+1)はシグモイド関数、ハイパータンジェント関数および整流線形ユニットのうち少なくとも一つであり得る。数学式10を参照すると、出力レイヤーは出力ベクトルz(Nc+Nf+1)(t)のt番目のclassに対する最終出力値^γ(t)を計算することができる。
他の例として、最終出力レイヤーはソフトマックス(soft max)関数を利用して最終出力値を計算することもできる。出力レイヤーの最終出力値の計算過程は数学式11のように示すこともできる。
数学式11を参照すると、最終出力レイヤーは出力ベクトルのクラス値に対する指数関数を利用して最終出力値を計算することができる。
機械学習装置100は、コンボリューショナルニューラルネットワークを決定するパラメーターを変化させることによって、コンボリューショナルニューラルネットワークを学習させることができる。例えば、機械学習装置100は、コンボリューショナルニューラルネットワークのノード間の加重値を最適化する方向にコンボリューショナルニューラルネットワークを学習させることができる。
機械学習装置100は、学習データに対するコンボリューショナルニューラルネットワークの出力と、コンボリューショナルニューラルネットワークのノード間の加重値を利用して費用関数を計算することができる。機械学習装置100は費用関数値が最小化するようにコンボリューショナルニューラルネットワークを学習させることができる。
例示的に、費用関数は数学式12のように示すことができる。
機械学習装置100は費用関数J(W)が最小化するようにノード間の加重値を変更することができる。機械学習装置100は逆伝播アルゴリズムおよび確率的勾配降下(stochastic gradient descent)などのような最適化アルゴリズムを利用してニューラルネットワークを学習させることができる。他の例として、機械学習装置100はg、reedy layer−wiseトレーニング(Bengio、Yoshua、et al. “Greedy layer−wise training of deep networks.” Advances in neural information processing systems 19 (2007):)基盤のプレトレーニング(pre−training)方式および微細調整(fine tuning)方式を共に並行してニューラルネットワークを学習させることができる。他の例として、機械学習装置100は、ドロップアウト(drop−out)( N. Srivastava、et al. 「Dropout:A simple way to prevent neural networks from overfitting.」 The Journal of Machine Learning Research (2014):1929−1958.)やマックスアウト(max−out)( Goodfellow、Ian J.、et al. 「Maxout networks.」 arXiv preprint arXiv:1302.4389 (2013))方式を利用することもできる。
以上でコンボリューショナルニューラルネットワークの構造と動作について説明した。前記の説明は例示的なものに過ぎず、具体的なレイヤーの個数と構造および演算過程は通常の技術者に容易な水準で変わり得る。
以下では本発明の例示的な実施例に係る、コンボリューショナルニューラルネットワークに対する漸進的学習過程を含む機械学習方法について説明する。
図7は、本発明の第2実施例に係る機械学習方法を示したフローチャートである。
図7を参照すると、S110段階で、機械学習装置100は対象データの入力を受けることができる。対象データは、コンボリューショナルニューラルネットワークの学習にあらかじめ利用した学習データと異なるデータであり得る。対象データは追加学習のためのデータであってもよく、コンボリューショナルニューラルネットワークの分析対象であるデータであってもよい。対象データは一つのデータであってもよく、複数のデータからなるデータ配置であってもよい。
S120段階で、プロセッサ110は、対象データの統計的特性とあらかじめ使用された訓練データの統計的特性との差に基づいて、漸進的学習開始の可否を判断することができる。プロセッサ110は、コンボリューショナルニューラルネットワークに対象データを入力した場合の出力統計と、訓練データを入力した場合の出力統計とを比較して、漸進的学習開始の可否を判断することができる。以下では、対象データが複数のデータで構成されるデータ配置である場合を例に挙げて漸進的学習開始の可否の判断過程を説明する。
S130段階で、プロセッサ110はコンボリューショナルニューラルネットワークに含まれたそれぞれのコンボリューションレイヤー(またはコンボリューションおよびプーリングレイヤー)で相互間の類似度が高いカーネルの集合を決定することができる。
図8は相互間の類似度が高いカーネルの集合を決定する方式の第1実施例を示した概念図である。
図8を参照すると、プロセッサ110は任意のl番目のコンボリューションレイヤー(またはコンボリューションおよびプーリングレイヤー)でk番目の出力イメージまたは行列の生成に利用されるカーネルのうち相互間の類似度が高いカーネルを選択することができる。プロセッサ110はカーネル間の距離または類似度を測定することによって、相互間の類似度が高いカーネルペアを少なくとも一つ以上決定することができる。具体的な例として、プロセッサ110はカーネル間の差の絶対値に基づいて相互間の類似度が高いカーネルペアを少なくとも一つ以上決定することができる。例示的に、プロセッサ110は数学式16を利用して、相互間の類似度が高いカーネルペアを決定することができる。
前述した説明では、プロセッサ110が二つのカーネル間の差の絶対値(または二つのカーネル間の距離)に基づいて、相互間の類似度が高いカーネルペアを決定することができる。しかし、実施例はこれに制限されるものではない。例えば、プロセッサ110は、カーネル間のコーダル距離(chordal distance(Conway、John H.、Ronald H. Hardin、and Neil JA Sloane. 「Packing lines、planes、etc.:Packings in Grassmannian spaces.」 Experimental mathematics 5.2 (1996):139−159)、KL発散(KL divergence)、交差カーネル(intersection kernel)、カイ二乗カーネル(Chi−square kernel)のうち少なくとも一つに基づいて、相互間の類似度が高いカーネルペアを決定することもできる。
図9は、相互間の類似度が高いカーネルの集合を決定する方式の第2実施例を示した概念図である。
プロセッサ110はカーネル連結行列間の距離または類似度を測定することによって、相互間の類似度が高いカーネル連結行列ペアを少なくとも一つ以上決定することができる。具体的な例として、プロセッサ110はカーネル連結行列間の差の絶対値に基づいて相互間の類似度が高いカーネルの集合を決定することができる。例えば、プロセッサ110は数学式17を利用して、相互間の類似度が高いカーネルペアを決定することができる。
数学式17を参照すると、プロセッサ110はl番目のコンボリューションレイヤー(またはコンボリューションおよびプーリングレイヤー)で行列の差の絶対値が最も小さいカーネル連結行列ペアを相互間の類似度が高い行列と決定することができる。プロセッサ110は、相互間の類似度が高いカーネル行列ペアに対応するカーネルを相互間の類似度が高いカーネルの集合に含ませることができる。プロセッサ110は、l番目のコンボリューションレイヤー(またはコンボリューションおよびプーリングレイヤー)で相互間の類似度が高いカーネル連結行列ペアを一つのみ決定することができる。他の例として、プロセッサ110は、l番目のコンボリューションレイヤー(またはコンボリューションおよびプーリングレイヤー)で相互間の類似度が高いカーネル連結行列ペアを複数個決定することができる。

この場合、プロセッサ110は既選択されたカーネル連結ペアを除いて、数学式17によるカーネルペア選択手続きを複数回繰り返すことができる。

前述した説明では、プロセッサ110が二つの行列間の差の絶対値(または二つの行列間の距離)に基づいて、相互間の類似度が高いカーネル連結行列ペアを決定することができる。しかし、実施例はこれに制限されるものではない。例えば、プロセッサ110は、行列間のコーダル距離(chordal distance(Conway、John H.、Ronald H. Hardin、and Neil JA Sloane. 「Packing lines、planes、etc.:Packings in Grassmannian spaces.」 Experimental mathematics 5.2 (1996):139−159)、KL発散(KL divergence)、交差カーネル(intersection kernel)、カイ二乗カーネル(Chi−square kernel)のうち少なくとも一つに基づいて、相互間の類似度が高いカーネル連結行列ペアを決定することもできる。
再び図7を参照すると、S140段階で、プロセッサ110は相互間の類似度が高いカーネルの集合に含まれたカーネルを更新することができる。例えば、図8に示した通り、プロセッサ110が複数個のカーネルペアを選択した場合、プロセッサ110は選択されたカーネルペアを更新することができる。プロセッサ110は、ランダムカーネルを利用して相互間の類似度が高いカーネルを更新することができる。例えば、プロセッサ110のカーネル更新過程は数学式18のように示すことができる。
他の例として、図9に示した通り、プロセッサ110が複数個のカーネル連結行列を選択した場合、プロセッサ110は選択されたカーネル連結行列を更新する方式で、相互間の類似度が高いカーネルを更新することができる。例えば、プロセッサ110のカーネル連結行列の更新過程は数学式19のように示すことができる。
プロセッサ110は相互間の類似度が高いカーネルを更新することによって、コンボリューショナルニューラルネットワークの性能を改善することができる。プロセッサ110は相互間の類似度が高いカーネルを更新しなくてもよい。この場合、S140段階は省略され得る。
S150段階で、プロセッサ110は相互間の類似度が高いカーネルが適用されるノード間の加重値を更新することができる。プロセッサ110は、更新対象となる加重値の集合と、更新しない加重値の集合を区分することができる。例えば、プロセッサ110は下記のように加重値の集合を区分することができる。
プロセッサ110は更新対象となる加重値を機械学習によって更新することができる。例えば、プロセッサ110は対象データから機械学習に利用するデータを選別することができる。例えば、対象データが複数個のデータを含む配置データである場合、プロセッサ110は配置データから既存の訓練データと統計的特性が異なるデータを抽出することができる。プロセッサ110が漸進的学習に利用されるデータを抽出する方式は数学式20のように示すことができる。
数学式20において、iは配置データに含まれたデータのインデックスを示す。Βは配置データで漸進的学習に利用されるデータのインデックスの集合を意味する。数学式20を参照すると、プロセッサ110は数学式15に示した条件を満足するデータを漸進的学習用データとして選別することができる。
プロセッサ110は教師あり学習方式および教師なし学習方式のうち少なくとも一つを利用して、WNに含まれた加重値を更新することができる。プロセッサ110が教師あり学習方式を利用する場合、Βに含まれたデータは教師あり学習のためのラベリングがされていなければならない。もし、ラベリングがされていない場合、ラベリング過程がさらに遂行され得る。
加重値の更新過程は数学式21のように示すことができる。
プロセッサ110は逆伝播アルゴリズムおよび確率的勾配降下(stochastic gradient descent)方式などのような最適化アルゴリズムなどを利用してニューラルネットワークを学習させることができる。他の例として、プロセッサ110は、greedy layer−wiseトレーニング(Bengio、Yoshua、et al. 「Greedy layer−wise training of deep networks.」 Advances in neural information processing systems 19 (2007):)基盤のプレトレーニング(pre−training)方式および微細調整(fine tuning)方式を共に並行してニューラルネットワークを学習させることができる。
数学式20で示したデータ集合Βを利用した機械学習過程が完了すると、プロセッサ110は全体のデータ(すなわち、以前に使用された訓練データおよび対象データのすべて)を利用して追加的な機械学習を遂行することもできる。プロセッサ110は、ドロップアウト(drop−out)( N. Srivastava、et al. 「Dropout:A simple way to prevent neural networks from overfitting.」 The Journal of Machine Learning Research (2014):1929−1958.)やマックスアウト(max−out)( Goodfellow、Ian J.、et al. 「Maxout networks.」 arXiv preprint arXiv:1302.4389 (2013))方式を利用して追加的な機械学習を遂行することができる。
図10は、本発明の第3実施例に係る機械学習方法を示した概念図である。
図10の実施例の説明において、図9と重複する内容は省略する。
図10を参照すると、S160段階で、プロセッサ110はコンボリューショナルニューラルネットワークの全体連結レイヤーのそれぞれにおいて、相互間の類似度が高いウェイトベクトルの集合を決定することができる。ウェイトベクトルは数学式7で示したウェイト行列から抽出され得る。例えば、プロセッサ110は数学式22に示した通り、ウェイトベクトルを抽出することができる。
プロセッサ110はウェイトベクトル間の距離または類似度を測定することによって、相互間の類似度が高いウェイトベクトルペアを少なくとも一つ以上決定することができる。具体的な例として、プロセッサ110はウェイトベクトル間の差の絶対値に基づいて、相互間の類似度が高いウェイトベクトルペアを少なくとも一つ以上決定することができる。例示的に、プロセッサ110は数学式23を利用して、相互間の類似度が高いウェイトベクトルペアを決定することができる。
数学式23を参照すると、プロセッサ110は、l番目の全体連結レイヤーでウェイトベクトル差の絶対値が最も小さいウェイトベクトルペアを、相互間の類似度が高いウェイトベクトルペアと決定することができる。プロセッサ110は、l番目の全体連結レイヤーで相互間の類似度が高いウェイトベクトルペアを一つのみ決定することができる。他の例として、プロセッサ110はl番目の全体連結レイヤーで相互間の類似度が高いウェイトベクトルペアを複数個決定することもできる。


前述した説明では、プロセッサ110が二つのウェイトベクトル間の差の絶対値(または二つのウェイトベクトル間の距離)に基づいて、相互間の類似度が高いウェイトベクトルペアを決定することができる。しかし、実施例はこれに制限されるものではない。例えば、プロセッサ110は、ウェイトベクトル間の二乗差、p−ノルム(p−norm)、ユークリッド−ノルム(Euclidean−norm)、コサイン距離(cosine distance)、マハラノビス距離(Mahalanobis distance)、コーダル距離(Chordal distance)、KL発散(KL divergence)、交差カーネル(intersection kernel)、およびカイ二乗カーネル(Chi−square kernel)のうち少なくとも一つに基づいて、相互間の類似度が高いウェイトベクトルペアを決定することもできる。
S170段階で、プロセッサ110は相互間の類似度が高いウェイトベクトルを更新することができる。プロセッサ110はランダムベクトルを利用して相互間の類似度が高いウェイトベクトルを更新することができる。例えば、プロセッサ110のカーネル更新過程は数学式24のように示すことができる。
他の例として、プロセッサ110は数学式25のようにウェイトベクトルを更新することもできる。
さらに他の例として、プロセッサ110はウェイトベクトルを更新しなくてもよい。
S180段階で、プロセッサ110は相互間の類似度が高いウェイトベクトルが適用されるノード間の加重値を更新することができる。
プロセッサ110は選択された相互間の類似度が高いウェイトベクトルに基づいて、更新対象となる加重値の集合と、残りの加重値の集合を区分することができる。プロセッサ110は数学式20に示した通り、漸進的学習用データを選別することができる。プロセッサ110は数学式21を参照して説明した通り、漸進的学習用データを利用して更新対象となる加重値を更新することができる。プロセッサ110は全体のデータを利用してコンボリューショナルニューラルネットワークに対する追加学習を進めることができる。
対象データにラベリングがされていない場合、ラベリング作業を行わずにプロセッサ110は教師なし学習によってコンボリューショナルニューラルネットワークを学習させてもよい。この場合、プロセッサ110はコンボリューショナルニューラルネットワークに対して、対称的構造を有する対称ニューラルネットワークをコンボリューショナルニューラルネットワークに連結することができる。プロセッサ110はコンボリューショナルニューラルネットワークの出力を対称ニューラルネットワークに入力させることができる。
図11は、本発明の第4実施例に係るニューラルネットワークを示した概念図である。
図11を参照すると、ニューラルネットワークはコンボリューショナルニューラルネットワークおよび対称ニューラルネットワークを含むことができる。対称ニューラルネットワークは、コンボリューショナルニューラルネットワークに対して対称的な構造を有することができる。対称ニューラルネットワークは、前記コンボリューショナルニューラルネットワークの全体連結レイヤーに対応する逆方向の全体連結レイヤー(backward fully connected layer)と、前記コンボリューショナルニューラルネットワークのコンボリューションレイヤーおよびプーリングレイヤーに対応するデコンボリューションレイヤーおよびアンプーリングレイヤーを含むことができる。対称ニューラルネットワークの具体的な動作に対する説明は韓国特許出願(10−2015−183898)で代替する。
プロセッサ110は対称ニューラルネットワークの出力とコンボリューショナルニューラルネットワークに入力される入力との間の差に基づいて、ノード間の加重値を更新することができる。例えば、プロセッサ110は、対称ニューラルネットワークの出力とコンボリューショナルニューラルネットワークに入力される入力との間の再構成エラー(reconstruction error)および平均二乗エラー(mean squared error)のうち少なくとも一つに基づいて、費用関数を決定することができる。プロセッサ110は前述した方式によって決定された費用関数を最小化する方向にノード間の加重値を更新することができる。プロセッサ110は数学式20に示したデータ集合Βを利用してコンボリューショナルニューラルネットワークを学習させることができる。プロセッサ110は全体のデータを利用してコンボリューショナルニューラルネットワークを学習させることもできる。学習過程が終了すると、プロセッサ110は対称ニューラルネットワークを除去することができる。
以上、図1〜図11と数学式1〜数学式25を参照して本発明の例示的な実施例に係る機械学習方法および装置について説明した。前述した実施例によると、コンボリューショナルニューラルネットワークの学習に利用された訓練データと統計的特性が異なる対象データを発見することができる。そして、統計的特性が異なる対象データが発見された場合、コンボリューショナルニューラルネットワークに対して漸進的学習を開始することによって、コンボリューショナルニューラルネットワークの性能を向上させることができる。また、相互間の類似度が高いカーネルまたはウェイトベクトルが適用されるノード間の加重値を選択的に更新する過程を経ることによって、機械学習効率を向上させることができる。
本発明の実施例に係る肩幅測定方法の動作は、コンピュータ読み取り可能記録媒体にコンピュータ読み取り可能プログラムまたはコードとして具現することが可能である。コンピュータ読み取り可能記録媒体はコンピュータシステムによって読み込まれ得るデータが保存されるすべての種類の記録装置を含む。また、コンピュータ読み取り可能記録媒体は、ネットワークに連結されたコンピュータシステムに分散されて分散方式でコンピュータ読み取り可能プログラムまたはコードが保存され実行され得る。
また、コンピュータ読み取り可能記録媒体は、ロム(rom)、ラム(ram)、フラッシュメモリ(flash memory)などのように、プログラム命令を保存して遂行するように特別に構成されたハードウェア装置を含むことができる。プログラム命令は、コンパイラ(compiler)によって作られるような機械語コードだけでなく、インタープリタ(interpreter)などを使ってコンピュータによって実行され得る高級言語コードを含むことができる。
方法段階の一部又は全部は例えば、マイクロプロセッサ、プログラム可能なコンピュータまたは電子回路のようなハードウェア装置によって(または利用して)遂行され得る。一部の実施例において、最も重要な方法段階の少なくとも一つはこのような装置によって遂行され得る。
実施例において、プログラム可能なロジック装置(例えば、フィールドプログラマブルゲートアレイ)が、ここで説明された方法の機能の一部又は全部を遂行するために使われ得る。実施例において、フィールドプログラマブルゲートアレイは、ここで説明された方法のうち一つを遂行するためのマイクロプロセッサとともに作動することができる。一般に、方法は何らかのハードウェア装置によって遂行されることが好ましい。
上記では本発明の好ましい実施例を参照して説明したが、該当技術分野の熟練した当業者は下記の特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で、本発明を多様に修正および変更し得ることが理解できるであろう。

Claims (19)

  1. コンボリューショナルニューラルネットワークを学習させるための機械学習装置により遂行される、コンボリューショナルニューラルネットワークに対する機械学習方法において、
    対象データの入力を受ける段階;
    前記コンボリューショナルニューラルネットワークに対する前記対象データの統計的特性と前記コンボリューショナルニューラルネットワークに対するあらかじめ使用された訓練データの統計的特性との差に基づいて、漸進的学習開始の可否を判断する段階;
    前記漸進的学習を開始すると判断した場合、前記コンボリューショナルニューラルネットワークに含まれたそれぞれのコンボリューションレイヤーで相互間の類似度が高いカーネルの集合を決定する段階;および
    前記相互間の類似度が高いカーネルの集合に含まれたカーネルが適用されるノード間の加重値を更新する段階;を含み、
    前記相互間の類似度が高いカーネルの集合に含まれたカーネルのそれぞれをランダム行列を利用して、更新する段階をさらに含む、機械学習方法。
  2. 前記漸進的学習開始の可否を判断する段階は、
    前記対象データに対する前記コンボリューショナルニューラルネットワークの出力値のうち最大値をあらかじめ選定した基準値と比較し、前記コンボリューショナルニューラルネットワークの出力値のうち最大値が前記基準値よりも小さい場合、前記漸進的学習を開始すると判断する、請求項1に記載の機械学習方法。
  3. 前記対象データが、複数個のデータからなるデータパッチである場合、
    前記データパッチに含まれたデータのうち、前記コンボリューショナルニューラルネットワークの出力値のうち最大値があらかじめ選定した基準値よりも小さい条件を満足するデータの個数が基準個数以上の場合、前記漸進的学習を開始すると判断する、請求項2に記載の機械学習方法。
  4. 前記相互間の類似度が高いカーネルの集合を決定する段階は、
    カーネル間の距離または類似度を測定することによって、前記相互間の類似度が高いカーネルペアを少なくとも一つ以上決定する、請求項1に記載の機械学習方法。
  5. 前記相互間の類似度が高いカーネルの集合を決定する段階は、
    カーネル間のコーダル距離(chordal distance)、カイ二乗カーネル(Chi−square kernel)のうち少なくとも一つに基づいて、前記相互間の類似度が高いカーネルペアを少なくとも一つ以上決定する、請求項4に記載の機械学習方法。
  6. 前記相互間の類似度が高いカーネルの集合を決定する段階は、同じノードのコンボリューション演算に利用されるカーネルからカーネル連結行列(Concatenated kernel matrix)を構成し、
    前記カーネル連結行列間の距離または類似度を測定することによって、前記相互間の類似度が高いカーネル連結行列ペアを少なくとも一つ以上決定する、請求項1に記載の機械学習方法。
  7. 前記相互間の類似度が高いカーネルの集合を決定する段階は、前記カーネル連結行列間の差のノルム(norm)、前記カーネル連結行列間の二乗差、コーダル距離(Chordal distance)、カイ二乗カーネル(Chi−square kernel)のうち少なくとも一つに基づいて、前記相互間の類似度が高いカーネルの集合を決定する、請求項6に記載の機械学習方法。
  8. 前記漸進的学習を開始すると判断した場合、前記コンボリューショナルニューラルネットワークに含まれたそれぞれの完全連結レイヤー(fully connected layer)で相互間の類似度が高いウェイトベクトル(Weight vector)の集合を決定する段階;および
    前記相互間の類似度が高いウェイトベクトルの集合に含まれたウェイトベクトルが適用されるノード間の加重値を更新する段階;をさらに含む、請求項1に記載の機械学習方法。
  9. 前記相互間の類似度が高いウェイトベクトルの集合を決定する段階は、
    ウェイトベクトル間の距離または類似度を測定することによって、前記相互間の類似度が高いウェイトベクトルペアを少なくとも一つ以上決定する、請求項8に記載の機械学習方法。
  10. 前記相互間の類似度が高いウェイトベクトルの集合を決定する段階は、
    ウェイトベクトル間の差のノルム(norm)、二乗差、コサイン距離(cosine distance)、マハラノビス距離(Mahalanobis distance)、コーダル距離(Chordal distance)、およびカイ二乗カーネル(Chi−square kernel)のうち少なくとも一つに基づいて、前記相互間の類似度が高いウェイトベクトルペアを少なくとも一つ以上決定する、請求項9に記載の機械学習方法。
  11. 前記相互間の類似度が高いウェイトベクトルの集合に含まれたウェイトベクトルのそれぞれを、ランダムベクトルを利用して更新する段階;をさらに含む、請求項8に記載の機械学習方法。
  12. 前記ノード間の加重値を更新する段階は、
    教師あり学習方式および教師なし学習方式のうち少なくとも一つを利用して前記ノード間の加重値を更新する、請求項1に記載の機械学習方法。
  13. 前記教師なし学習方式によって前記ノード間の加重値を更新する場合、
    前記コンボリューショナルニューラルネットワークの出力を、前記コンボリューショナルニューラルネットワークに対称的な構造を有する対称ニューラルネットワークに入力させ、
    前記対称ニューラルネットワークの出力と前記コンボリューショナルニューラルネットワークに対する入力との間の差に基づいて、前記ノード間の加重値を更新する、請求項12に記載の機械学習方法。
  14. 前記対称ニューラルネットワークは、前記コンボリューショナルニューラルネットワークの全体連結レイヤーに対応する逆方向の全体連結レイヤー(backward fully connected layer)と、前記コンボリューショナルニューラルネットワークのコンボリューションレイヤーおよびプーリングレイヤーに対応するデコンボリューションレイヤーおよびアンプーリングレイヤーを含む、請求項13に記載の機械学習方法。
  15. コンボリューショナルニューラルネットワークを学習させるための機械学習装置において、
    プロセッサ(processor);および
    前記プロセッサを介して実行される少なくとも一つの命令が保存されたメモリ(memory)を含み、
    前記少なくとも一つの命令は、
    対象データの入力を受けて;前記コンボリューショナルニューラルネットワークに対する前記対象データの統計的特性と前記コンボリューショナルニューラルネットワークに対するあらかじめ使用された訓練データの統計的特性との差に基づいて、漸進的学習開始の可否を判断し;前記漸進的学習を開始すると判断した場合、前記コンボリューショナルニューラルネットワークに含まれたそれぞれのコンボリューションレイヤーで相互間の類似度が高いカーネルの集合を決定し;前記相互間の類似度が高いカーネルの集合に含まれたカーネルが適用されるノード間の加重値を更新して、前記相互間の類似度が高いカーネルの集合に含まれたカーネルのそれぞれをランダム行列を利用して、更新するように遂行される、機械学習装置。
  16. 前記少なくとも一つの命令は、
    カーネル間のコーダル距離(chordal distance)、カイ二乗カーネル(Chi−square kernel)のうち少なくとも一つに基づいて、前記相互間の類似度が高いカーネルペアを少なくとも一つ以上決定するように遂行される、請求項15に記載の機械学習装置。
  17. 前記少なくとも一つの命令は、
    同じノードのコンボリューション演算に利用されるカーネルからカーネル連結行列(Concatenated kernel matrix)を構成し、
    前記カーネル連結行列間の差のノルム(norm)、二乗差、コーダル距離(Chordal distance)、カイ二乗カーネル(Chi−square kernel)のうち少なくとも一つに基づいて、前記相互間の類似度が高いカーネルの集合を決定するように遂行される、請求項15に記載の機械学習装置。
  18. 前記少なくとも一つの命令は、
    前記漸進的学習を開始すると判断した場合、前記コンボリューショナルニューラルネットワークに含まれたそれぞれの完全連結レイヤー(fully connected layer)で相互間の類似度が高いウェイトベクトル(Weight vector)の集合を決定し、前記相互間の類似度が高いウェイトベクトルの集合に含まれたウェイトベクトルが適用されるノード間の加重値を更新するように遂行される、請求項15に記載の機械学習装置。
  19. 前記少なくとも一つの命令は、
    ウェイトベクトル間の差のノルム(norm)に基づいて、前記相互間の類似度が高いウェイトベクトルペアを少なくとも一つ以上決定するように遂行される、請求項15に記載の機械学習装置。
JP2018041353A 2017-08-09 2018-03-07 機械学習方法および装置 Active JP6574503B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170101084A KR101880901B1 (ko) 2017-08-09 2017-08-09 기계 학습 방법 및 장치
KR10-2017-0101084 2017-08-09

Publications (2)

Publication Number Publication Date
JP2019032808A JP2019032808A (ja) 2019-02-28
JP6574503B2 true JP6574503B2 (ja) 2019-09-11

Family

ID=63103102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018041353A Active JP6574503B2 (ja) 2017-08-09 2018-03-07 機械学習方法および装置

Country Status (3)

Country Link
US (1) US10970631B2 (ja)
JP (1) JP6574503B2 (ja)
KR (1) KR101880901B1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10366328B2 (en) * 2017-09-19 2019-07-30 Gyrfalcon Technology Inc. Approximating fully-connected layers with multiple arrays of 3x3 convolutional filter kernels in a CNN based integrated circuit
WO2019115865A1 (en) * 2017-12-13 2019-06-20 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10423860B1 (en) * 2019-01-22 2019-09-24 StradVision, Inc. Learning method and learning device for object detector based on CNN to be used for multi-camera or surround view monitoring using image concatenation and target object merging network, and testing method and testing device using the same
US10430691B1 (en) * 2019-01-22 2019-10-01 StradVision, Inc. Learning method and learning device for object detector based on CNN, adaptable to customers' requirements such as key performance index, using target object merging network and target region estimating network, and testing method and testing device using the same to be used for multi-camera or surround view monitoring
US10387752B1 (en) * 2019-01-22 2019-08-20 StradVision, Inc. Learning method and learning device for object detector with hardware optimization based on CNN for detection at distance or military purpose using image concatenation, and testing method and testing device using the same
US10387754B1 (en) * 2019-01-23 2019-08-20 StradVision, Inc. Learning method and learning device for object detector based on CNN using 1×H convolution to be used for hardware optimization, and testing method and testing device using the same
US10402695B1 (en) * 2019-01-23 2019-09-03 StradVision, Inc. Learning method and learning device for convolutional neural network using 1×H convolution for image recognition to be used for hardware optimization, and testing method and testing device using the same
CN109886317B (zh) * 2019-01-29 2021-04-27 中国科学院自动化研究所 基于注意力机制的通用图像美学评估方法、系统及设备
US11593650B2 (en) 2019-03-27 2023-02-28 GE Precision Healthcare LLC Determining confident data samples for machine learning models on unseen data
US11514329B2 (en) * 2019-03-27 2022-11-29 General Electric Company Data-driven deep learning model generalization analysis and improvement
GB2582782A (en) * 2019-04-02 2020-10-07 Graphcore Ltd Graph conversion method
KR102263375B1 (ko) * 2019-10-01 2021-06-11 전남대학교산학협력단 커널 기법을 사용한 제한된 볼츠만 머신 시스템
US11593673B2 (en) 2019-10-07 2023-02-28 Servicenow Canada Inc. Systems and methods for identifying influential training data points
KR102519554B1 (ko) * 2019-12-03 2023-04-06 경희대학교 산학협력단 심층 신경망 시스템을 포함하는 전자 장치 및 그 동작 방법
US11074507B1 (en) * 2020-05-22 2021-07-27 StradVision, Inc. Method for performing adjustable continual learning on deep neural network model by using selective deep generative replay module and device using the same
CN111722145B (zh) * 2020-06-12 2023-04-25 华北电力大学(保定) 一种同步电机励磁绕组匝间短路轻度故障诊断方法
TWI746038B (zh) * 2020-07-02 2021-11-11 阿證科技股份有限公司 類神經網路人工智慧決策核心系統
CN112069837A (zh) * 2020-09-17 2020-12-11 湖北亿咖通科技有限公司 一种基于神经网络的自然语言处理方法和电子设备
CN116402116B (zh) * 2023-06-05 2023-09-05 山东云海国创云计算装备产业创新中心有限公司 神经网络的剪枝方法、系统、设备、介质及图像处理方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634137B2 (en) * 2005-10-14 2009-12-15 Microsoft Corporation Unfolded convolution for fast feature extraction
US8972253B2 (en) * 2010-09-15 2015-03-03 Microsoft Technology Licensing, Llc Deep belief network for large vocabulary continuous speech recognition
CN105900116A (zh) 2014-02-10 2016-08-24 三菱电机株式会社 分层型神经网络装置、判别器学习方法以及判别方法
US9477654B2 (en) * 2014-04-01 2016-10-25 Microsoft Corporation Convolutional latent semantic models and their applications
KR102130162B1 (ko) * 2015-03-20 2020-07-06 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 인공 신경망들에 대한 관련성 스코어 할당
CN106156807B (zh) 2015-04-02 2020-06-02 华中科技大学 卷积神经网络模型的训练方法及装置
US10460230B2 (en) * 2015-06-04 2019-10-29 Samsung Electronics Co., Ltd. Reducing computations in a neural network
US11423311B2 (en) * 2015-06-04 2022-08-23 Samsung Electronics Co., Ltd. Automatic tuning of artificial neural networks
WO2017037103A1 (en) * 2015-09-01 2017-03-09 Dream It Get It Limited Pmedia unit retrieval and related processes
US20170169358A1 (en) 2015-12-09 2017-06-15 Samsung Electronics Co., Ltd. In-storage computing apparatus and method for decentralized machine learning
KR101644998B1 (ko) 2015-12-22 2016-08-02 엑스브레인 주식회사 Convolutional Neural Network를 이용하여 비정상 입력 데이터를 검출하는 방법 및 장치
KR101823749B1 (ko) 2016-03-10 2018-01-31 한국과학기술원 군집 지능과 기계학습 알고리즘을 이용한 적응형 미지 공격 탐지 시스템의 방식 및 장치
WO2017212459A1 (en) * 2016-06-09 2017-12-14 Sentient Technologies (Barbados) Limited Content embedding using deep metric learning algorithms
US20180060724A1 (en) * 2016-08-25 2018-03-01 Microsoft Technology Licensing, Llc Network Morphism

Also Published As

Publication number Publication date
US20190050728A1 (en) 2019-02-14
KR101880901B1 (ko) 2018-07-23
US10970631B2 (en) 2021-04-06
JP2019032808A (ja) 2019-02-28

Similar Documents

Publication Publication Date Title
JP6574503B2 (ja) 機械学習方法および装置
JP6608981B2 (ja) 異常セッション感知方法
US11875268B2 (en) Object recognition with reduced neural network weight precision
JP6504590B2 (ja) 画像のセマンティックセグメンテーションのためのシステム及びコンピューター実施方法、並びに非一時的コンピューター可読媒体
US11151450B2 (en) System and method for generating explainable latent features of machine learning models
CN109754078B (zh) 用于优化神经网络的方法
CN107977704B (zh) 权重数据存储方法和基于该方法的神经网络处理器
CN107622302B (zh) 用于卷积神经网络的超像素方法
US20190370664A1 (en) Operation method
WO2022105108A1 (zh) 一种网络数据分类方法、装置、设备及可读存储介质
Chu et al. Analysis of feature maps selection in supervised learning using convolutional neural networks
CN112560639B (zh) 人脸关键点数目转换方法、系统、电子设备及存储介质
CN112633482A (zh) 一种高效宽度图卷积神经网络模型及其训练方法
US20230004816A1 (en) Method of optimizing neural network model and neural network model processing system performing the same
CN115080139A (zh) 用于神经网络部署和执行的有效量化
WO2020195940A1 (ja) ニューラルネットワークのモデル縮約装置
KR102105951B1 (ko) 추론을 위한 제한된 볼츠만 머신 구축 방법 및 추론을 위한 제한된 볼츠만 머신을 탑재한 컴퓨터 장치
CN113490955A (zh) 用于产生金字塔层的架构的系统和方法
Dai et al. Random sharing parameters in the global region of convolutional neural network
WO2020054402A1 (ja) ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法
Graham et al. Applying Neural Networks to a Fractal Inverse Problem
US20220343162A1 (en) Method for structure learning and model compression for deep neural network
CN116964589A (zh) 一种由预训练小型网络构建的多节点神经网络
CN114168320A (zh) 基于隐式空间映射的端到端边缘智能模型搜索方法和系统
Paticchio et al. Improving domain-specific transfer learning applications for image recognition and differential equations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190724

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190816

R150 Certificate of patent or registration of utility model

Ref document number: 6574503

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250