JP2021179926A - 学習プログラム、学習装置および学習方法 - Google Patents

学習プログラム、学習装置および学習方法 Download PDF

Info

Publication number
JP2021179926A
JP2021179926A JP2020086276A JP2020086276A JP2021179926A JP 2021179926 A JP2021179926 A JP 2021179926A JP 2020086276 A JP2020086276 A JP 2020086276A JP 2020086276 A JP2020086276 A JP 2020086276A JP 2021179926 A JP2021179926 A JP 2021179926A
Authority
JP
Japan
Prior art keywords
character
learning
category
loss function
value
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.)
Granted
Application number
JP2020086276A
Other languages
English (en)
Other versions
JP7228542B2 (ja
Inventor
大柱 金
Daeju Kim
リシャブ ドゥッタ
Dutta Rishabh
聡 山田
Satoshi Yamada
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SoftBank Corp
Original Assignee
SoftBank Corp
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 SoftBank Corp filed Critical SoftBank Corp
Priority to JP2020086276A priority Critical patent/JP7228542B2/ja
Publication of JP2021179926A publication Critical patent/JP2021179926A/ja
Application granted granted Critical
Publication of JP7228542B2 publication Critical patent/JP7228542B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Discrimination (AREA)
  • Image Analysis (AREA)

Abstract

【課題】文字認識に関する分類問題の推定精度を向上させること。【解決手段】本願に係る学習プログラムは、入力された文字が文字種別の候補のうちのいずれの文字種別に属する文字であるか文字認識するためのモデルを学習する学習プログラムであって、取得手順と、学習手順とをコンピュータに実行させる。取得手順は、文字種別ごとに、当該文字種別に属する文字に関する文字情報を取得する。学習手順は、文字種別ごとに、当該文字種別に対応する文字情報に基づいて、損失関数の値を最小化するようモデルに関する所定のパラメータを学習する。【選択図】図2

Description

本発明は、学習プログラム、学習装置および学習方法に関する。
教師あり学習などの機械学習によって構築された学習モデルを使用して、分類問題のデータからデータが所属するカテゴリを推定する技術がある(例えば、特許文献1参照)。
例えば、学習モデルとしてニューラルネットワーク(深いニューラルネットワーク)を用いる機械学習は、深層学習ということが多い。分類問題を扱うニューラルネットワークは、データから特徴ベクトルを算出する演算部と、特徴ベクトルからデータの各カテゴリに所属していると推定される確率を算出する演算部で構成される。
特開2009−282686号公報
機械学習の分類問題では、データが所属するカテゴリを誤らないようにすることが常に課題である。しかしながら、上記の従来技術では、必ずしも分類問題の推定精度を向上することができるとは限らない。具体的には、上記の従来技術では、文字認識に関する分類問題の推定精度を向上させることができるとは限らない。
本願は、上記に鑑みてなされたものであって、文字認識に関する分類問題の推定精度を向上させることを目的とする。
本願に係る学習プログラムは、入力された文字が文字種別の候補のうちのいずれの文字種別に属する文字であるか文字認識するためのモデルを学習する学習プログラムであって、前記文字種別ごとに、当該文字種別に属する文字に関する文字情報を取得する取得手順と、前記文字種別ごとに、当該文字種別に対応する前記文字情報に基づいて、損失関数の値を最小化するよう前記モデルに関する所定のパラメータを学習する学習手順とをコンピュータに実行させる。
実施形態の一態様によれば、文字認識に関する分類問題の推定精度を向上させることができる。
図1は、実施形態に係る学習処理の全体像を示す図である。 図2は、実施形態に係る学習装置の構成例を示す図である。 図3は、実施形態に係る学習データ記憶部の一例を示す図である。 図4は、実施形態に係る学習処理の一例(1)を示す図である。 図5は、実施形態に係る学習処理の一例(2)を示す図である。 図6は、実施形態に係る学習処理手順を示すフローチャートである。 図7は、実施形態に係るクラス分類処理手順を示すフローチャートである。 図8は、学習装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。
以下に、本願に係る学習プログラム、学習装置および学習方法を実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習プログラム、学習装置および学習方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.実施形態に係る学習処理の概要〕
従来、活字を含む文書の画像を文字列に変換する光学文字認識(OCR;Optical Character Recognition)技術が知られている。しかし、日本語の場合、ひらがな、かたかな、漢字、英数字などが混合されて使用されることがあり、これらの中には形状が似ているものが多く存在する。このため、従来のOCR技術では、誤った文字認識(分類)がなされてしまう場合がある。具体的には、従来のOCR技術では、入力された文字が所属するカテゴリを誤って推定されてしまう場合がある。
例えば、漢字の「田」、漢字の「母」、漢字の「丑」は、形状(見た目)が似ており、従来のOCR技術での学習に用いられるアルゴリズムでは、本来、漢字の「田」に属する文字であるにも拘らず、漢字の「母」に属する文字であると認識されてしまう場合がある。同様のことは、数字の「1」、大文字の「L」、小文字の「l」、記号の「縦棒」の間などでも起こり得る。また、同様のことは、かたかなの「ハ」、漢字の「八」の間などでも起こり得る。
このようなことから、本実施形態では、入力された文字がどの文字カテゴリに属するかを推定する、所謂、クラス分類における分類精度を高めることができる学習アルゴリズムを提案するものである。具体的には、実施形態に係る学習処理は、入力された文字が文字種別の候補のうちのいずれの文字種別に属する文字であるか文字認識するためのモデルを学習する中で、文字種別ごとに、当該文字種別に属する文字に関する文字情報を取得すし、文字種別ごとに、当該文字種別に対応する文字情報に基づいて、損失関数の値を最小化するようモデルに関する所定のパラメータを学習する。
〔2.学習プログラムおよび学習装置について〕
実施形態に係る学習プログラムは、上述した実施形態に係る学習処理をコンピュータに実行させるためのプログラムである。実施形態に係る学習プログラムは、入力された文字が文字種別の候補のうちのいずれの文字種別に属する文字であるか文字認識するためのモデルを学習する学習プログラムであって、文字種別ごとに、当該文字種別に属する文字に関する文字情報を取得する取得手順と、文字種別ごとに、当該文字種別に対応する前記文字情報に基づいて、損失関数の値を最小化するよう前記モデルに関する所定のパラメータを学習する学習手順とをコンピュータに実行させるための学習プログラムである。
また、本実施形態では、このようなコンピュータの一例として、学習装置100を例に挙げる。すなわち、学習装置100は、実施形態に係る学習プログラムの制御に従って、文字種別ごとに、当該文字種別に属する文字に関する文字情報を取得し、文字種別ごとに、当該文字種別に対応する文字情報に基づいて、損失関数の値を最小化するようモデルに関する所定のパラメータを学習する。
また、本実施形態では、学習装置100は、サーバ装置やクラウドシステム等により実現されるものとする。一方で、実施形態に係る学習プログラムが実行されるコンピュータは、例えば、エンドユーザによって利用される情報処理端末であってもよく、このような情報処理端末としては、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等が挙げられる。
また、以下の実施形態では、「文字種別」を「文字カテゴリ」と表記する場合がある。上記例を用いると、漢字の「田」、漢字の「母」、漢字の「丑」は、文字カテゴリの一例であり、「田」カテゴリ、「母」カテゴリ、「丑」カテゴリと言い換えることができる。また、「田」カテゴリに属する文字には、ゴシック体により書かれた「田」という文字、明朝体により書かれた「田」という文字、手書きによる「田」という文字など様々な態様(字体)の文字が存在する。「母」カテゴリに属する文字、「丑」カテゴリに属する文字についても同様である。
〔3.学習処理の全体像〕
ここからは、図1を用いて、実施形態に係る学習装置100によって行われる学習処理の全体像について説明する。図1は、実施形態に係る学習処理の全体像を示す図である。実施形態に係る学習のアルゴリズムは、誤った文字カテゴリとして認識される傾向にある文字の集合(クラスタ)に対応する範囲の広いカテゴリを対象とするクラス分類のためのアルゴリズム(第1アルゴリズム)と、この範囲の広いカテゴリに含まれる各文字カテゴリを対象とするアルゴリズム(第2アルゴリズム)とによって構成されるものである。まず、図1の上段を用いて第1アルゴリズムについて説明する。
図1の例では、文字カテゴリが異なる文字であって、互いに形状が似ていることにより誤って認識される傾向にある文字が属するカテゴリであるメインカテゴリCnの一例として、メインカテゴリC1およびメインカテゴリC2が示されている。
メインカテゴリC1について説明する。上記の通り、漢字の「田」、漢字の「母」、漢字の「丑」は、形状が似ているために、誤った分類がなされてしまう傾向にある。例えば、正しくは「田」カテゴリに属する文字であるにも拘らず、「母」カテゴリに属する文字であると認識されてしまう傾向にある。逆に、正しくは「母」カテゴリに属する文字であるにも拘らず、「田」カテゴリに属する文字であると認識されてしまう傾向にある。したがって、メインカテゴリC1は、「田」カテゴリ、「母」カテゴリ、「丑」カテゴリ、とった互いに分類先が間違われる傾向にあるカテゴリを含む範囲の広いカテゴリである。
また、メインカテゴリC1には、「田1」、「田2」、「田3」が含まれる。これらは、漢字の「田」であるが互いに字体の異なる文字を概念的に示すものである。より詳細には、「田1」は、漢字の「田」の文字であって、所定の字体の文字を示す画像データである。また、「田2」は、漢字の「田」の文字であって、他の所定の字体の文字を示す画像データである。また、「田3」は、漢字の「田」の文字であって、さらに他の所定の字体の文字を示す画像データである。
また、メインカテゴリC1には、「母1」、「母2」、「母3」が含まれる。これらは、漢字の「母」であるが互いに字体の異なる文字を概念的に示すものである。より詳細には、「母1」は、漢字の「母」の文字であって、所定の字体の文字を示す画像データである。また、「母2」は、漢字の「田」の文字であって、他の所定の字体の文字を示す画像データである。また、「母3」は、漢字の「母」の文字であって、さらに他の所定の字体の文字を示す画像データである。
また、メインカテゴリC1には、「丑1」、「丑2」、「丑3」が含まれる。これらは、漢字の「丑」であるが互いに字体の異なる文字を概念的に示すものである。より詳細には、「丑1」は、漢字の「丑」の文字であって、所定の字体の文字を示す画像データである。また、「丑2」は、漢字の「丑」の文字であって、他の所定の字体の文字を示す画像データである。また、「丑3」は、漢字の「丑」の文字であって、さらに他の所定の字体の文字を示す画像データである。
ここで、メインカテゴリC1についてより詳細に説明する。例えば、利用者は、「田1」に対応する画像データを学習データとして学習装置100に入力する。係る場合、学習装置100は、「田1」に対応する画像データを学習データの新たなサンプルとしてメインカテゴリC1に所属させる。また、利用者は、「田2」に対応する画像データを学習データとして学習装置100に入力する。係る場合、学習装置100は、「田2」に対応する文字データを学習データの新たなサンプルとしてメインカテゴリC1に所属させる。また、利用者は、「田3」に対応する画像データを学習データとして学習装置100に入力する。係る場合、学習装置100は、「田3」に対応する画像データを学習データの新たなサンプルとしてメインカテゴリC1に所属させる。また、利用者は、「母」および「丑」についても同様に画像データを学習データとして学習装置100に入力する。このようにして、メインカテゴリC1に属する各文字の画像データの集合(クラスタ)が、メインカテゴリC1に対応する学習データとして得られる。
メインカテゴリC2については、メインカテゴリC1の例に倣って説明可能であるため詳細な説明を省略する。簡単に説明すると、かたかなの「ト」、かたかなの「ド」、数字の「7」は、形状が似ているために、誤った分類がなされてしまう傾向にある。例えば、正しくは「ト」カテゴリに属する文字であるにも拘らず、「7」カテゴリに属する文字であると認識されてしまう傾向にある。逆に、正しくは「7」カテゴリに属する文字であるにも拘らず、「ト」カテゴリに属する文字であると認識されてしまう傾向にある。したがって、メインカテゴリC2は、「ト」カテゴリ、「ド」カテゴリ、「7」カテゴリ、といった互いに分類先が間違われる傾向にあるカテゴリを含む範囲の広いカテゴリである。
そして、例えば、利用者は、「ト1」に対応する画像データを学習データとして学習装置100に入力する。係る場合、学習装置100は、「ト1」に対応する画像データを学習データの新たなサンプルとしてメインカテゴリC2に所属させる。また、利用者は、「ト2」に対応する画像データを学習データとして学習装置100に入力する。係る場合、学習装置100は、「ト2」に対応する画像データを学習データの新たなサンプルとしてメインカテゴリC2に所属させる。また、利用者は、「ト3」に対応する画像データを学習データとして学習装置100に入力する。係る場合、学習装置100は、「ト3」に対応する画像データを学習データの新たなサンプルとしてメインカテゴリC2に所属させる。また、利用者は、「ド」および「7」についても同様に画像データを学習データとして学習装置100に入力する。このようにして、メインカテゴリC2に属する各文字の画像データの集合(クラスタ)が、メインカテゴリC2に対応する学習データとして得られる。
このように、メインカテゴリCnごとに学習データが得られている状態において、学習装置100は、入力された文字が文字カテゴリの候補のうちのいずれの文字カテゴリに属する文字であるか文字認識するためのモデルMnを学習する際に、メインカテゴリCnに属する様々な文字カテゴリの文字を対象として、損失関数(クロスエントロピー)を最小化するよう、モデルMnのパラメータを学習する。
例えば、メインカテゴリC1に対応するモデルをモデルM1とすると、モデルM1は、文字カテゴリの候補(すなわち、「田」カテゴリ、「母」カテゴリ、「丑」カテゴリ)のうちのいずれの文字カテゴリに属する文字であるか文字認識するためのモデルである。具体的には、モデルM1は、入力された文字が、「田」カテゴリに属する文字であることの確率、「母」カテゴリに属する文字であることの確率、「丑」カテゴリに属する文字であることの確率をそれぞれ出力するモデルである。
ここで、学習装置100は、分類先が未知の文字を含む画像データDAx1の入力を利用者から受け付けたとする。図1の例では、画像データDAx1には、漢字の「田」の文字が含まれる。そうすると、学習装置100は、まず、画像データDAx1を解析することにより、画像データDAx1に含まれる文字を抽出する。そして、学習装置100は、抽出した文字がメインカテゴリCnのいずれに所属する文字であるかを推定し、抽出した文字を推定先のメインカテゴリCnに所属させるクラスタリング処理を行う。図1の例では、学習装置100は、抽出した文字がメインカテゴリC1に所属する文字であると推定し、この抽出した文字をメインカテゴリC1に所属させる。
また、学習装置100は、このように所属させたことにより所属先のメインカテゴリC1に対応するモデルM1を用いて、画像データDAx1から抽出した未知の文字について、「田」カテゴリ、「母」カテゴリ、「丑」カテゴリのうちのいずれの文字カテゴリに属するかを推定することによるクラス分類を行う。例えば、学習装置100は、画像データDAx1から抽出した未知の文字をモデルM1に入力することにより、係る未知の文字が、「田」カテゴリに属する文字である確率、「母」カテゴリに属する文字である確率、「丑」カテゴリに属する文字である確率を得る。
そして、図1では、未知の文字が、「田」カテゴリに属する文字である確率「35%」、「母」カテゴリに属する文字である確率「30%」、「丑」カテゴリに属する文字である確率「35%」が得られた例が示されている。係る例によれば、全ての確率が拮抗しており高精度なクラス分類がなされていない。
このようなことから、複数の異なる文字カテゴリを含む範囲の広いカテゴリであるメインカテゴリCnのみの着目している第1アルゴリズムだけでは、分類問題の推定精度を向上させることができない場合がある。このようなことから、本実施形態では、この範囲の広いカテゴリに含まれる各文字カテゴリを対象とするアルゴリズム(第2アルゴリズム)をさらに組み合わせることで分類問題の推定精度を向上させようとしている。
ここからは、これまでの例をさらに用いるとともに、図1の下段に示す例を用いて、第2アルゴリズムについて説明する。また、以降、メインカテゴリC1に絞って第2アルゴリズムについて説明する。
学習装置100は、第2アルゴリズムによる学習を行うにあたって、利用者から学習データの入力を受け付けることができる。例えば、学習装置100は、文字カテゴリと、当該文字カテゴリに属する文字の画像データとの組合せを学習データとして受け付けることができる。このようなことから、学習装置100は、文字カテゴリの指定を利用者から受け付けることができる。
例えば、利用者は、文字カテゴリ「田」と、「田1」に対応する画像データとの組合せを学習データとして学習装置100に入力する。係る場合、学習装置100は、図1に示すように、「田1」に対応する画像データを学習データの新たなサンプルとして「田」カテゴリに所属させる。また、利用者は、文字カテゴリ「田」と、「田2」に対応する画像データとの組合せを学習データとして学習装置100に入力する。係る場合、学習装置100は、図1に示すように、「田2」に対応する画像データを学習データの新たなサンプルとして「田」カテゴリに所属させる。また、利用者は、文字カテゴリ「田」と、「田3」に対応する画像データとの組合せを学習データとして学習装置100に入力する。係る場合、学習装置100は、図1に示すように、「田3」に対応する画像データを学習データの新たなサンプルとして「田」カテゴリに所属させる。
また、利用者は、「母」カテゴリおよび「丑」カテゴリについても同様に、当該文字カテゴリと、当該文字カテゴリに属する文字の画像データとの組合せを学習データとして学習装置100に入力する。このようにして、学習装置100は、図1に示すように、メインカテゴリC1に含まれる文字カテゴリごとに、当該文字カテゴリに属する各文字の画像データの集合(クラスタ)を学習データとして得る。
なお、学習装置100は、メインカテゴリCnを、当該メインカテゴリCnに含まれる文字カテゴリごとに分割することにより、利用者からの指定なしに動的に文字カテゴリを抽出してもよい。例えば、図1の例では、学習装置100は、メインカテゴリC1を、当該メインカテゴリCnに含まれる文字カテゴリごとに分割することにより、利用者からの指定なしに、動的に、「田」カテゴリ、「母」カテゴリ、「丑」カテゴリを抽出してもよい。そして、学習装置100は、このようにして抽出した文字カテゴリごとに学習データ(画像データ)の入力を受け付けてもよい。
また、例えば、学習装置100は、ハイパーパラメータとして文字カテゴリの数の指定を受け付けることにより、メインカテゴリCnごとに、当該メインカテゴリCnを指定された数分の文字カテゴリに分割してもよい。
このように、文字カテゴリごとに学習データが得られている状態において、学習装置100は、入力された文字が文字カテゴリの候補のうちのいずれの文字カテゴリに属する文字であるか文字認識するためのモデルMnを学習する際に、文字カテゴリごとに、当該文字カテゴリに対応する学習データに基づいて、損失関数の値を最小化するようモデルMnに関する所定のパラメータを学習する。例えば、学習装置100は、文字カテゴリごとに、当該文字カテゴリに属する各文字の特徴情報(特徴ベクトル)に基づいて、損失関数の値を最小化するようモデルMnに関する所定のパラメータを学習する。
図1の例では、学習装置100は、モデルM1を学習する際に、「田」カテゴリ、「母」カテゴリ、「丑」カテゴリそれぞれについて、当該文字カテゴリに対応する学習データに基づいて、損失関数の値を最小化するようモデルM1に関する所定のパラメータを学習する。この点について、「田」カテゴリを例に説明する。
図1の例では、漢字の「田」の文字であって、互いに字体の異なる文字として、「田1」、「田2」、「田3」が、「田」カテゴリに含まれる。したがって、学習装置100は、「田1」に対応する画像データを解析することにより、「田1」によって示される字体の文字について、特徴ベクトルを取得する。また、学習装置100は、「田2」に対応する画像データを解析することにより、「田2」によって示される字体の文字について、特徴ベクトルを取得する。また、学習装置100は、「田3」に対応する画像データを解析することにより、「田3」によって示される字体の文字について、特徴ベクトルを取得する。
そして、学習装置100は、取得した各特長ベクトルを「田」カテゴリに対応する損失関数(クロスエントロピー)に適用する。そして、学習装置100は、「田」カテゴリについて学習データとして与えられた各文字が、「田」カテゴリに属する文字であって正解データとして与えられた文字として認識される確率が高まるよう、確率分布の誤差(クロスエントロピー誤差)を最小化するように、モデルM1(例えば、ニューラルネットワークモデル)の重みまたはバイアスを学習する。
また、学習装置100は、図1の上段で説明した第1アルゴリズムを規定するクロスエントロピーであってメインカテゴリCn(係る例では、メインカテゴリC1)に対応するクロスエントロピー、および、図1の下段で説明した第2アルゴリズムを規定するクロスエントロピーであって文字カテゴリ(係る例では、「田」カテゴリ)に対応するクロスエントロピーそれぞれから得られた誤差を最小化するようにモデルM1のパラメータを学習する。この詳細については、後に図4および図5を用いて説明する。
また、学習装置100は、同様の処理を「母」カテゴリ、「丑」カテゴリについても行う。
ここで、学習装置100は、分類先が未知の文字を含む画像データDAx1の入力を利用者から受け付けたとする。そうすると、学習装置100は、まず、画像データDAx1を解析することにより、画像データDAx1に含まれる文字を抽出する。そして、学習装置100は、抽出した文字がメインカテゴリCnのいずれに所属する文字であるかを推定し、抽出した文字を推定先のメインカテゴリCnに所属させるクラスタリング処理を行う。図1の例では、学習装置100は、抽出した文字がメインカテゴリC1に所属する文字であると推定し、抽出した文字をメインカテゴリC1に所属させる。
また、学習装置100は、このように所属させたことにより所属先のメインカテゴリC1に対応するモデルM1を用いて、画像データDAx1から抽出した未知の文字について、「田」カテゴリ、「母」カテゴリ、「丑」カテゴリのうちのいずれの文字カテゴリに属するかを推定することによるクラス分類を行う。また、ここで、用いられるモデルM1は、第1アルゴリズムだけでなく、第2アルゴリズムによる学習結果も反映されたものである。
例えば、学習装置100は、画像データDAx1から抽出した未知の文字をこのモデルM1に入力することにより、係る未知の文字が、「田」カテゴリに属する文字である確率、「母」カテゴリに属する文字である確率、「丑」カテゴリに属する文字である確率を得る。
そして、図1では、未知の文字が、「田」カテゴリに属する文字である確率「90%」、「母」カテゴリに属する文字である確率「5%」、「丑」カテゴリに属する文字である確率「5%」が得られた例が示されている。係る例によれば、全ての確率が拮抗しており高精度なクラス分類がなされていない上段の例と比較して、未知の文字に対する「田」カテゴリへの高精度な分類が実現されている。
さて、これまで図1で説明してきたように、学習装置100は、実施形態に係る学習プログラムの制御に従って、文字種別ごとに、当該文字種別に属する文字に関する文字情報を取得し、文字種別ごとに、当該文字種別に対応する文字情報に基づいて、損失関数の値を最小化するようモデルに関する所定のパラメータを学習する。
より詳細には、図1で説明したように、学習装置100は、実施形態に係る学習プログラムの制御に従って、各文字カテゴリに対応する第2アルゴリズムを規定するクロスエントロピーによるクロスエントロピー誤差と、各文字カテゴリを含む範囲の広いカテゴリであって、誤った文字種別として認識される傾向にある文字の集合を含むカテゴリに対応する第2アルゴリズムを規定するクロスエントロピーによるクロスエントロピー誤差とを総合した総合的な誤差を最小化するようパラメータを学習する。
このような学習装置100(学習プログラム)によれば、文字認識に関する分類問題の推定精度を向上させることができる。
〔4.学習装置の構成〕
次に、図2を用いて、実施形態に係る学習装置100について説明する。図2は、実施形態に係る学習装置100の構成例を示す図である。図2に示すように、学習装置100は、通信部110と、記憶部120と、制御部130とを有する。
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークNと有線または無線で接続され、例えば、入力の際に用いられる外部の装置との間で情報の送受信を行う。
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子またはハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、学習データ記憶部121と、モデル情報記憶部122とを有する。
(学習データ記憶部121について)
学習データ記憶部121は、利用者によって入力された学習データを記憶する。ここで、図3に実施形態に係る学習データ記憶部121の一例を示す。図3の例では、学習データ記憶部121は、「メインカテゴリ」、「文字カテゴリ」、「学習データ」、「特徴ベクトル」といった項目を有する。
「メインカテゴリ」は、図1で説明したように、互いに誤って認識される傾向にある文字カテゴリを含む範囲の広いカテゴリである。図3に示す学習データ記憶部121の例では、このようなメインカテゴリの一例として図1に示した「メインカテゴリC1」が示されている。
「文字カテゴリ」は、対応する「メインカテゴリ」に属する文字それぞれが個別に所属するカテゴリである。図3に示す学習データ記憶部121の例では、「メインカテゴリC1」には、文字カテゴリの一例として、「田」カテゴリ、「母」カテゴリ、「丑」カテゴリが含まれる例が示されている。この点について、「メインカテゴリC1」には、「田」カテゴリに属する文字、「母」カテゴリに属する文字、「丑」カテゴリに属する文字が混合された状態で所属している、といえる。
「学習データ」は、対応する「文字カテゴリ」に属する文字を含む画像データであって、学習のためのサンプルとして利用されるよう利用者から入力された画像データである。図3に示す学習データ記憶部121の例では、「文字カテゴリ」の一例である「田」カテゴリに対して、学習データ「学習データ♯11−1」が対応付けられている。係る例は、「田」カテゴリに属する文字であって、ある字体の文字を示す画像データが入力されたことにより、学習装置100が、係る画像データを「学習データ♯11−1」として格納している例を示す。
「特徴ベクトル」は、対応する「学習データ」を解析することにより取得(抽出された)された、学習データ内に含まれる文字の特徴を示す特徴情報である。図3に示す学習データ記憶部121の例では、「文字カテゴリ」の一例である「田」カテゴリ、および、学習データ「学習データ♯11−1」の組に対して、特徴ベクトル「特徴ベクトル♯11−1」が対応付けられている。係る例は、「学習データ♯11−1」を解析することにより、「学習データ♯11−1」内に含まれる文字(「田」カテゴリに属する文字)の特徴を示す特徴ベクトルとして「特徴ベクトル♯11−1」が取得(抽出)された例を示す。
(モデル情報記憶部122について)
モデル情報記憶部122は、入力された文字が文字カテゴリの候補のうちのいずれの文字カテゴリに属する文字であるか文字認識するためのモデルを記憶する。例えば、モデル情報記憶部122は、「メインカテゴリ」ごとに、第1アルゴリズムおよび第2アルゴリズムが反映されたモデルを記憶する。
(制御部130について)
制御部130は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、学習装置100内部の記憶装置に記憶されている各種プログラム(例えば、実施形態に係る学習プログラム)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図2に示すように、制御部130は、データ受付部131と、取得部132と、学習部133と、入力受付部134と、分類部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図2に示した接続関係に限られず、他の接続関係であってもよい。
(データ受付部131)
データ受付部131は、学習データを受け付ける。例えば、データ受付部131は、文字カテゴリと、当該文字カテゴリに属する文字の画像データとの組合せである学習データの入力を利用者から受け付ける。また、データ受付部131は、受け付けた学習でデータを学習データ記憶部121に格納する。
(取得部132について)
取得部132は、文字カテゴリごとに、当該文字カテゴリに属する文字に関する文字情報を取得する。例えば、取得部132は、文字カテゴリごとに、当該文字カテゴリに属する文字の特徴示す特徴情報(特徴ベクトル)を取得する。例えば、取得部132は、データ受付部131により学習データが受け付けられた場合には、受け付けられた学習データを解析することにより、係る学習データに画像として含まれる文字を抽出する。そして、取得部132は、抽出した文字に対応する画像部分からこの文字の特徴を示す特徴ベクトルを取得する。係る特徴ベクトルは、例えば、ピクセル情報によって示される。
(学習部133について)
学習部133は、処理対象の文字カテゴリごとに、当該文字カテゴリに対応する文字情報(特徴ベクトル)に基づいて、損失関数の値を最小化するようモデルに関する所定のパラメータを学習する。例えば、学習部133は、モデルを学習する際に、所定のパラメータを学習する。
例えば、学習部133は、処理対象の文字カテゴリごとに、当該文字カテゴリに属する文字に関する文字情報と、当該文字カテゴリに属する文字であって正解データとして入力された文字に関する文字情報とに基づいて、損失関数の値を最小化するよう所定のパラメータを学習する。
例えば、学習部133は、処理対象の文字カテゴリごとに、当該文字カテゴリに属する文字に関する文字情報を足し合わせることにより算出された指標値と、正解データとして入力された文字に関する文字情報とに基づいて、損失関数の値を最小化するよう所定のパラメータを学習する。例えば、学習部133は、損失関数の値を最小化する処理として、係る指標値と、正解データとして入力された文字に関する文字情報とに基づいて、文字カテゴリに属する文字が正解データとして入力された文字として認識される確率を高めるよう所定のパラメータを学習する。
また、学習部133は、処理対象の文字カテゴリについての損失関数の値と、異なる文字カテゴリにそれぞれに属する文字であって誤った文字カテゴリとして認識される傾向にある文字の集合に対応する所定のカテゴリ(メインカテゴリ)を対象に得られた損失関数の値とに基づき算出された値であって、異なる文字カテゴリ間での総合的な損失関数の値を最小化するようパラメータを学習する。例えば、学習部133は、処理対象の文字カテゴリについての損失関数の値と、異なる文字カテゴリにそれぞれに属する文字であって誤った文字カテゴリとして認識される傾向にある文字の集合に対応する所定のカテゴリを対象に得られた損失関数の値とを足し合わせた、総合的な損失関数の値を最小化するようパラメータを学習する。
また、学習部133は、損失関数の値を最小化するよう、所定のパラメータとしてニューラルネットワークの重みまたはバイアスを学習する。
(入力受付部134について)
入力受付部134は、分類先が未知の文字を含む画像データの入力を利用者から受け付ける。例えば、入力受付部134は、分類先が未知の文字を含む画像データの入力を、利用者によって利用される情報処理端末(例えば、スマートフォン)から受け付ける。
(分類部135について)
分類部135は、分類先が未知の文字がどの文字カテゴリに属する文字であるかを推定することによるクラス分類を行う。例えば、分類部135は、入力受付部134により分類先が未知の文字を含む画像データの入力が受け付けられた場合に、係る画像データを解析することにより、係る画像データに画像として含まれる文字を抽出する。そして、分類部135は、抽出した文字を分類先が未知の文字、すなわちクラス分類を行う処理対象の文字として認識する。
そして、分類部135は、処理対象の文字がメインカテゴリCnのいずれに所属する文字であるかを推定し、処理対象の文字を推定先のメインカテゴリCnに所属させるクラスタリング処理を行う。
また、分類部135は、所属先のメインカテゴリCnに対応するモデルMnを用いて、処理対象の文字について、候補の文字カテゴリのうちいずれの文字カテゴリに属するかを推定することによるクラス分類を行う。例えば、分類部135は、所属先のメインカテゴリCnに対応するモデルMnに対して、処理対象の文字の画像部分を入力することにより、処理対象の文字が、候補の文字カテゴリそれぞれに属する文字であることの確率を得る。そして、分類部135は、取得した確率に基づいて、処理対象の文字(分類先が未知の文字)がどの文字カテゴリに属する文字であるかを推定する。
また、分類部135は、分類先が未知の文字を含む画像データを入力した利用者に向けて、分類結果を提示することもできる。例えば、分類部135は、確率に基づき推定した文字カテゴリ(分類先)を提示してもよいし、文字カテゴリごとに得られた確率を提示してもよい。図1の例を用いると、例えば、分類部135は、入力された画像データから抽出した文字であって、分類先が未知の文字について、「田」カテゴリに属する文字である確率「90%」、「母」カテゴリに属する文字である確率「5%」、「丑」カテゴリに属する文字である確率「5%」といったように文字カテゴリと確率との組合せを提示する。
〔5.学習処理の一例〕
ここからは、学習部133によって行われる学習処理の一例について、図4および図5を用いて説明する。図4は、実施形態に係る学習処理の一例(1)を示す図である。図5は、実施形態に係る学習処理の一例(2)を示す図である。
図4および図5では、図1の上段で説明した第1アルゴリズムを規定するクロスエントロピーであってメインカテゴリCnに対応するクロスエントロピー、および、図1の下段で説明した第2アルゴリズムを規定するクロスエントロピーであって文字カテゴリに対応するクロスエントロピーの組合せを例に挙げて、実施形態に係る学習処理を説明する。
まず、図4から説明する。図4(図5も同様)に示される式(1)は、メインカテゴリCnに対応するクロスエントロピーであるメインクロスエントロピーから算出された誤差と、メインカテゴリCnに含まれる各文字カテゴリに対応するクロスエントロピーである内部クロスエントロピーから算出された誤差とを足し合わせた総合的な誤差(total loss)を最小化するようにモデルMnのパラメータ(例えば、重み)を学習する学習処理を示すものである。
ここで、図4では、図1の例に沿って、メインカテゴリCnをメインカテゴリC1とし、文字カテゴリを「田」カテゴリとする。係る場合、式(1)は、メインカテゴリC1に対応するメインクロスエントロピーから算出された誤差と、「田」カテゴリに対応する内部クロスエントロピーから算出された誤差とを足し合わせた総合的な誤差(total loss)を最小化するようにモデルM1のパラメータ(例えば、重み)を学習する学習処理を示すものとなる。
式(1)の左項であるメインクロスエントロピーに着目する。「X」は、処理対象のメインカテゴリCn(係る例では、メインカテゴリC1)に属する文字の正解データ(正解ベクトル)を示す。メインカテゴリC1には、「田」カテゴリ、「母」カテゴリ、「丑」カテゴリが含まれる。したがって、係る例では、「X」は、「田」カテゴリに属する文字(漢字の「田」の文字)の正解ベクトルと、「母」カテゴリに属する文字(漢字の「母」の文字)の正解ベクトルと、「丑」カテゴリに属する文字(漢字の「丑」の文字)の正解ベクトルとを示す。
「x_i」は、処理対象のメインカテゴリCn(係る例では、メインカテゴリC1)に属する全文字であって、学習データサンプルとして入力された全文字それそれの文字情報(特徴ベクトル)を示す。図4の例では、「x_i」は、「田1」によって示される字体の文字(漢字の「田」)から得られた特徴ベクトルである。また、「x_i」は、「田2」によって示される字体の文字(漢字の「田」)から得られた特徴ベクトルである。また、「x_i」は、「田3」によって示される字体の文字(漢字の「田」)から得られた特徴ベクトルである。
同様に、図4の例では、「x_i」は、「母1」によって示される字体の文字(漢字の「母」)から得られた特徴ベクトルである。また、「x_i」は、「母2」によって示される字体の文字(漢字の「母」)から得られた特徴ベクトルである。また、「x_i」は、「母3」によって示される字体の文字(漢字の「母」)から得られた特徴ベクトルである。
さらに、同様に、図4の例では、「x_i」は、「丑1」によって示される字体の文字(漢字の「丑」)から得られた特徴ベクトルである。また、「x_i」は、「丑2」によって示される字体の文字(漢字の「丑」)から得られた特徴ベクトルである。また、「x_i」は、「丑3」によって示される字体の文字(漢字の「丑」)から得られた特徴ベクトルである。
このような状態において、学習部133は、メインクロスエントロピーに基づく第1アルゴリズムによる学習を行う。具体的には、学習部133は、正解ベクトル(「X」)と、各特長ベクトル(「x_i」)の合算により算出された指標値との誤差であるクロスエントロピー誤差(メインクロスエントロピー誤差)を最小化するようモデルM1に対応するパラメータを学習する。各特長ベクトルの合算により算出された指標値とは、「x_1」が示す各特長ベクトル(図4の例の場合、9つの文字にそれぞれから得られた特徴ベクトル)を足し合わせることにより算出された指標値である。
そして、学習部133は、メインカテゴリC1について学習データとして与えられた各文字(図4の例の場合、9つの文字)が、正解データとして与えられた文字として認識される確率が高まるよう、確率分布の誤差(メインクロスエントロピー誤差)を最小化するように、モデルM1に対応するパラメータを学習する。
次に、式(1)の右項である内部クロスエントロピーに着目する。「j」は、処理対象の文字カテゴリ(係る例では、「田」カテゴリ)を示す。したがって、「X_j」は、処理対象の文字カテゴリ(係る例では、「田」カテゴリ)に属する文字の正解データ(正解ベクトル)を示す。
また、「C_j」は、処理対象の文字カテゴリ(係る例では、「田」カテゴリ)に属する文字の集合を示す。
「x_j_i」は、処理対象の文字カテゴリ(係る例では、「田」カテゴリ)に属する全文字であって、学習データサンプルとして入力された全文字それそれの文字情報(特徴ベクトル)を示す。図4の例では、「x_j_i」は、「田1」によって示される字体の文字(漢字の「田」)から得られた特徴ベクトルである。また、「x_j_i」は、「田2」によって示される字体の文字(漢字の「田」)から得られた特徴ベクトルである。また、「x_j_i」は、「田3」によって示される字体の文字(漢字の「田」)から得られた特徴ベクトルである。
このような状態において、学習部133は、内部クロスエントロピーに基づく第2アルゴリズムによる学習を行う。具体的には、学習部133は、正解ベクトル(「X_j」)と、各特長ベクトル(「x_j_i」)の合算により算出された指標値との誤差であるクロスエントロピー誤差(内部クロスエントロピー誤差)を最小化するようモデルM1に対応するパラメータを学習する。各特長ベクトルの合算により算出された指標値とは、「x_j_i」が示す各特長ベクトル(図4の例の場合、3つの「田」の文字にそれぞれから得られた特徴ベクトル)を足し合わせることにより算出された指標値である。
そして、学習部133は、メインカテゴリC1に含まれる1つの「田」カテゴリだけを対象に、学習データとして与えられた各文字(図4の例の場合、3つの「田」の文字)が、正解データとして与えられた「田」の文字として認識される確率が高まるよう、確率分布の誤差(内部クロスエントロピー誤差)を最小化するように、モデルM1に対応するパラメータを学習する。
また、式(1)を用いた学習により、学習部133は、結果的に、メインクロスエントロピーから算出された誤差と、「田」カテゴリに対応するクロスエントロピーである内部クロスエントロピーから算出された誤差とを足し合わせた総合的な誤差(total loss)を最小化するように、モデルM1に対応するパラメータを学習することになる。
ここで、メインカテゴリC1に着目すると、学習部133は、メインカテゴリC1に含まれる文字カテゴリごとに、当該文字カテゴリに対応する特徴ベクトルに基づいて、損失関数の値を最小化するようモデルM1に関するパラメータを学習するものである。そして、図4では、学習部133が、式(1)の右項で示される内部クロスエントロピーに基づいて、メインカテゴリC1に含まれる文字カテゴリの1つである「田」カテゴリについて第2アルゴリズムによる学習を行う例を示した。
しかし、学習部133は、式(1)の右項で示される内部クロスエントロピーに基づいて、メインカテゴリC1に含まれる文字カテゴリの1つである「母」カテゴリについて第2アルゴリズムによる学習も行う。したがって、この点について図5を用いて説明する。なお、メインカテゴリC1に着目した場合、学習部133は、式(1)の右項で示される内部クロスエントロピーに基づいて、「丑」カテゴリについても第2アルゴリズムによる学習も行うが繰り返しの説明になるためこれについては詳細な説明を省略する。
ここで、図5では、図1の例に沿って、メインカテゴリCnをメインカテゴリC1とし、文字カテゴリを「母」カテゴリとする。係る場合、式(1)は、メインカテゴリC1に対応するメインクロスエントロピーから算出された誤差と、「母」カテゴリに対応する内部クロスエントロピーから算出された誤差とを足し合わせた総合的な誤差(total loss)を最小化するようにモデルM1のパラメータ(例えば、重み)を学習する学習処理を示すものとなる。
式(1)の左項であるメインクロスエントロピーについては図4で説明した通りであるため詳細な説明を省略し、式(1)の右項である内部クロスエントロピーに着目する。
「j」は、処理対象の文字カテゴリ(係る例では、「母」カテゴリ)を示す。したがって、「X_j」は、処理対象の文字カテゴリ(係る例では、「母」カテゴリ)に属する文字の正解データ(正解ベクトル)を示す。
また、「C_j」は、処理対象の文字カテゴリ(係る例では、「母」カテゴリ)に属する文字の集合を示す。
「x_j_i」は、処理対象の文字カテゴリ(係る例では、「母」カテゴリ)に属する全文字であって、学習データサンプルとして入力された全文字それぞれの文字情報(特徴ベクトル)を示す。図5の例では、「x_j_i」は、「母1」によって示される字体の文字(漢字の「母」)から得られた特徴ベクトルである。また、「x_j_i」は、「母2」によって示される字体の文字(漢字の「母」)から得られた特徴ベクトルである。また、「x_j_i」は、「母3」によって示される字体の文字(漢字の「母」)から得られた特徴ベクトルである。
このような状態において、学習部133は、内部クロスエントロピーに基づく第2アルゴリズムによる学習を行う。具体的には、学習部133は、正解ベクトル(「X_j」)と、各特長ベクトル(「x_j_i」)の合算により算出された指標値との誤差であるクロスエントロピー誤差(内部クロスエントロピー誤差)を最小化するようモデルM1に対応するパラメータを学習する。各特長ベクトルの合算により算出された指標値とは、「x_j_i」が示す各特長ベクトル(図5の例の場合、3つの「母」の文字にそれぞれから得られた特徴ベクトル)を足し合わせることにより算出された指標値である。
そして、学習部133は、メインカテゴリC1に含まれる1つの「母」カテゴリだけを対象に、学習データとして与えられた各文字(図5の例の場合、3つの「母」の文字)が、正解データとして与えられた「母」の文字として認識される確率が高まるよう、確率分布の誤差(内部クロスエントロピー誤差)を最小化するように、モデルM1に対応するパラメータを学習する。
また、式(1)を用いた学習により、学習部133は、結果的に、メインクロスエントロピーから算出された誤差と、「母」カテゴリに対応するクロスエントロピーである内部クロスエントロピーから算出された誤差とを足し合わせた総合的な誤差(total loss)を最小化するように、モデルM1に対応するパラメータを学習することになる。
ここで、第2アルゴリズムによれば、文字カテゴリごとに、当該文字カテゴリに対応する特徴ベクトルに基づいて、損失関数の値を最小化するようモデルMnに関する所定のパラメータを学習するという処理は、「X_j」と「x_j_i」との距離d_iを最小化するようパラメータを学習することに相当する。この点について、図1(図4および図5も同様)の例を用いて説明する。
例えば、第1アルゴリズムのみを用いる場合、「メインカテゴリC1」には、「田」カテゴリに属する文字、「母」カテゴリに属する文字、「丑」カテゴリに属する文字が混在している。このため、例えば、「田」カテゴリに属する文字と、「母」カテゴリに属する文字との距離、具体的には、異なる文字カテゴリに属する文字間での距離である距離dをより短くするように学習されてしまうことがある。この結果、本来、「田」カテゴリに属する文字であるにも拘らず、形状が似ていることによる他の文字カテゴリに属する類似文字と認識されてしまうといったことが起こり得る。
しかしながら、第2アルゴリズムによれば、文字カテゴリに分けたうえで、各文字カテゴリについて、学習データとして与えた文字と、正解データとし得与えられた文字との距離d_iを最小化しようと学習される。このため、第2アルゴリズムによれば、副次的に、形状が似ているが異なる文字カテゴリに属するといった類似文字どうしを離すように学習することができる。例えば、図1に示すように、第2アルゴリズムによれば、「田」カテゴリ、「母」カテゴリ、「丑」カテゴリといったように文字カテゴリに分けられたうえで、文字カテゴリごとに学習されるため、上段の例と比較して、下段の例では、副次的に、「田1」と「母3」との距離dがより離されることになる。
〔6.処理手順〕
次に、図6および図7を用いて、実施形態に係る学習プログラムによって動作する学習装置100による情報処理の手順について説明する。図6では、実施形態に係る学習処理の手順について説明する。図7では、学習処理により学習されたモデルを用いた、クラス分類処理の手順について説明する。
〔6−1.処理手順(1)〕
まず、図6を用いて、実施形態に係る学習処理の手順について説明する。図6は、実施形態に係る学習処理手順を示すフローチャートである。
まず、データ受付部131は、文字カテゴリと、当該文字カテゴリに属する文字の画像データとの組合せである学習データの入力を利用者から受け付けたか否かを判定する(ステップS101)。データ受付部131は、組合せを受け付けていないと判定している間は(ステップS101;No)、組合せを受け付けたと判定できるまで待機する。
一方で、取得部132は、データ受付部131により組合せを受け付けたと判定された場合には(ステップS101;Yes)、受け付けられた学習データを解析することにより、係る学習データに画像として含まれる文字の特徴を示す特徴ベクトルを取得する(ステップS102)。
次に、学習部133は、処理対象の文字カテゴリ(データ受付部131により受け付けられた文字カテゴリ、すなわち利用者が指定した文字カテゴリ)に属する文字による学習データ群(クラスタ)に基づいて、処理対象の文字カテゴリについて損失関数を最小化するようにモデルMnのパラメータを学習する(ステップS103)。例えば、学習部133は、モデルMn自体の学習を行う際に、モデルMnのパラメータを学習する。
〔6−2.処理手順(2)〕
次に、図7を用いて、実施形態に係るクラス分類処理の手順について説明する。図7は、実施形態に係るクラス分類処理手順を示すフローチャートである。
入力受付部134は、分類先が未知の文字を含む画像データの入力を利用者から受け付けたか否かを判定する(ステップS201)。入力受付部134は、分類先が未知の文字を含む画像データの入力を利用者から受け付けていないと判定している間は(ステップS201;No)、分類先が未知の文字を含む画像データの入力を受け付けたと判定できるまで待機する。
一方、分類部135は、入力受付部134により分類先が未知の文字を含む画像データの入力を利用者から受け付けたと判定された場合には(ステップS201;Yes)、係る画像データに画像として含まれる文字を抽出し、抽出した文字を分類先が未知の文字、すなわちクラス分類を行う処理対象の文字として認識する(ステップS202)。
次に、分類部135は、処理対象の文字がメインカテゴリCnのいずれに所属する文字であるかを推定し、処理対象の文字を推定先のメインカテゴリCnに所属させるクラスタリング処理を行う(ステップS203)。
また、分類部135は、所属先のメインカテゴリCnに対応するモデルMnを用いて、処理対象の文字について、候補の文字カテゴリのうちいずれの文字カテゴリに属するかを推定することによるクラス分類を行う(ステップS204)。例えば、分類部135は、所属先のメインカテゴリCnに対応するモデルMnに対して、処理対象の文字の画像部分を入力することにより、処理対象の文字が、候補の文字カテゴリそれぞれに属する文字であることの確率を得る。そして、分類部135は、取得した確率に基づいて、処理対象の文字(分類先が未知の文字)がどの文字カテゴリに属する文字であるかを推定する。
また、分類部135は、ステップS204での分類結果に関する情報を利用者に提示する(ステップS205)。例えば、分類部135は、確率に基づき推定した文字カテゴリ(分類先)を提示してもよいし、文字カテゴリごとに得られた確率を提示してもよい。
〔7.ハードウェア構成〕
また、上記実施形態に係る学習装置100は、例えば図8に示すような構成のコンピュータ1000によって実現される。図8は、学習装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、および、係るプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、通信網50を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、通信網50を介して他の機器へ送信する。
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを、入出力インターフェイス1600を介して出力装置へ出力する。
メディアインターフェイス1700は、記録媒体1800に格納されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、係るプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係る学習装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内のデータが格納される。コンピュータ1000のCPU1100は、これらのプログラムを、記録媒体1800から読み取って実行するが、他の例として、他の装置から、通信網50を介してこれらのプログラムを取得してもよい。
〔8.その他〕
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
以上、本願の実施形態をいくつかの図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
100 学習装置
120 記憶部
121 学習データ記憶部
122 モデル情報記憶部
130 制御部
131 データ受付部
132 取得部
133 学習部
134 入力受付部
135 分類部

Claims (11)

  1. 入力された文字が文字種別の候補のうちのいずれの文字種別に属する文字であるか文字認識するためのモデルを学習する学習プログラムであって、
    前記文字種別ごとに、当該文字種別に属する文字に関する文字情報を取得する取得手順と、
    前記文字種別ごとに、当該文字種別に対応する前記文字情報に基づいて、損失関数の値を最小化するよう前記モデルに関する所定のパラメータを学習する学習手順と
    をコンピュータに実行させるための学習プログラム。
  2. 前記学習手順は、前記モデルを学習する際に、前記所定のパラメータを学習する
    ことを特徴とする請求項1に記載の学習プログラム。
  3. 前記学習手順は、前記文字種別に属する文字に関する文字情報と、当該文字種別に属する文字であって正解データとして入力された文字に関する文字情報とに基づいて、前記損失関数の値を最小化するよう前記所定のパラメータを学習する
    ことを特徴とする請求項1または2に記載の学習プログラム。
  4. 前記学習手順は、前記文字種別に属する文字に関する文字情報を足し合わせることにより算出された指標値と、前記正解データとして入力された文字に関する文字情報とに基づいて、前記損失関数の値を最小化するよう前記所定のパラメータを学習する
    ことを特徴とする請求項3に記載の学習プログラム。
  5. 前記学習手順は、前記損失関数の値を最小化する処理として、前記指標値と、前記正解データとして入力された文字に関する文字情報とに基づいて、前記文字種別に属する文字が前記正解データとして入力された文字として認識される確率を高めるよう前記所定のパラメータを学習する
    ことを特徴とする請求項4に記載の学習プログラム。
  6. 前記学習手順は、前記損失関数の値と、異なる前記文字種別にそれぞれに属する文字であって誤った文字種別として認識される傾向にある文字の集合に対応する所定のカテゴリを対象に得られた損失関数の値とに基づき算出された値であって、異なる前記文字種別間での総合的な損失関数の値を最小化するよう前記所定のパラメータを学習する
    ことを特徴とする請求項1〜5のいずれか1つに記載の学習プログラム。
  7. 前記学習手順は、前記損失関数の値と、異なる前記文字種別にそれぞれに属する文字であって誤った文字種別として認識される傾向にある文字の集合に対応する所定のカテゴリを対象に得られた損失関数の値とを足し合わせた、前記総合的な損失関数の値を最小化するよう前記所定のパラメータを学習する
    ことを特徴とする請求項6に記載の学習プログラム。
  8. 前記学習手順は、前記損失関数の値を最小化するよう、前記所定のパラメータとしてニューラルネットワークの重みまたはバイアスを学習する
    ことを特徴とする請求項1〜7のいずれか1つに記載の学習プログラム。
  9. 前記取得手順は、前記文字に関する文字情報として、当該文字の特徴を示す特徴情報する
    ことを特徴とする請求項1〜8のいずれか1つに記載の学習プログラム。
  10. 入力された文字が文字種別の候補のうちのいずれの文字種別に属する文字であるか文字認識するためのモデルを学習する学習装置であって、
    前記文字種別ごとに、当該文字種別に属する文字に関する文字情報を取得する取得部と、
    前記文字種別ごとに、当該文字種別に対応する前記文字情報に基づいて、損失関数の値を最小化するよう前記モデルに関する所定のパラメータを学習する学習部と
    を有することを特徴とする学習装置。
  11. 入力された文字が文字種別の候補のうちのいずれの文字種別に属する文字であるか文字認識するためのモデルをコンピュータに学習させる学習方法であって、
    前記文字種別ごとに、当該文字種別に属する文字に関する文字情報を取得する取得工程と、
    前記文字種別ごとに、当該文字種別に対応する前記文字情報に基づいて、損失関数の値を最小化するよう前記モデルに関する所定のパラメータを学習する学習工程と
    を含むことを特徴とする学習方法。
JP2020086276A 2020-05-15 2020-05-15 学習プログラム、学習装置および学習方法 Active JP7228542B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020086276A JP7228542B2 (ja) 2020-05-15 2020-05-15 学習プログラム、学習装置および学習方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020086276A JP7228542B2 (ja) 2020-05-15 2020-05-15 学習プログラム、学習装置および学習方法

Publications (2)

Publication Number Publication Date
JP2021179926A true JP2021179926A (ja) 2021-11-18
JP7228542B2 JP7228542B2 (ja) 2023-02-24

Family

ID=78511665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020086276A Active JP7228542B2 (ja) 2020-05-15 2020-05-15 学習プログラム、学習装置および学習方法

Country Status (1)

Country Link
JP (1) JP7228542B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0714011A (ja) * 1993-06-25 1995-01-17 Matsushita Electric Ind Co Ltd 文字認識装置および文字認識方法
JPH0816728A (ja) * 1994-06-28 1996-01-19 Canon Inc 文字認識装置及び方法
JPH08122267A (ja) * 1994-10-25 1996-05-17 Mitsubishi Electric Corp マーク認識装置およびマーク認識方法
JP2018077786A (ja) * 2016-11-11 2018-05-17 株式会社東芝 画像処理装置、画像処理方法、プログラム、運転制御システム、および、車両
CN111079479A (zh) * 2018-10-19 2020-04-28 北京市商汤科技开发有限公司 小孩状态分析方法和装置、车辆、电子设备、存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0714011A (ja) * 1993-06-25 1995-01-17 Matsushita Electric Ind Co Ltd 文字認識装置および文字認識方法
JPH0816728A (ja) * 1994-06-28 1996-01-19 Canon Inc 文字認識装置及び方法
JPH08122267A (ja) * 1994-10-25 1996-05-17 Mitsubishi Electric Corp マーク認識装置およびマーク認識方法
JP2018077786A (ja) * 2016-11-11 2018-05-17 株式会社東芝 画像処理装置、画像処理方法、プログラム、運転制御システム、および、車両
CN111079479A (zh) * 2018-10-19 2020-04-28 北京市商汤科技开发有限公司 小孩状态分析方法和装置、车辆、电子设备、存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"深層学習", [ONLINE], JPN7022003489, 3 February 2020 (2020-02-03), ISSN: 0004834432 *

Also Published As

Publication number Publication date
JP7228542B2 (ja) 2023-02-24

Similar Documents

Publication Publication Date Title
JP5176773B2 (ja) 文字認識方法および文字認識装置
Tao et al. Effective discriminative feature selection with nontrivial solution
JP4757116B2 (ja) パラメータ学習方法及びその装置、パターン識別方法及びその装置、プログラム
US11551034B2 (en) Adversarial network for transforming handwritten text
US10885325B2 (en) Information processing apparatus, control method, and storage medium
Lozano et al. Experimental study on prototype optimisation algorithms for prototype-based classification in vector spaces
Song et al. Selective zero-shot classification with augmented attributes
Sampath et al. Handwritten optical character recognition by hybrid neural network training algorithm
Mohanty et al. Performance comparison of svm and k-nn for oriya character recognition
JP7228542B2 (ja) 学習プログラム、学習装置および学習方法
Brodić et al. Identification of fraktur and latin scripts in german historical documents using image texture analysis
Sener et al. Unsupervised transductive domain adaptation
US20150186797A1 (en) Data reduction in nearest neighbor classification
CN110532384B (zh) 一种多任务字典单分类方法、系统、装置及存储介质
Ärje et al. Breaking the curse of dimensionality in quadratic discriminant analysis models with a novel variant of a Bayes classifier enhances automated taxa identification of freshwater macroinvertebrates
Rouabhi et al. Optimizing Handwritten Arabic Character Recognition: Feature Extraction, Concatenation, and PSO-Based Feature Selection.
JP6511942B2 (ja) 情報処理装置および情報処理プログラム
Awaida et al. Automatic check digits recognition for Arabic using multi-scale features, HMM and SVM classifiers
JP2009259190A (ja) 文字認識プログラムおよび文字認識装置
JP7388660B2 (ja) 情報処理装置、利用者端末、情報処理方法、及び情報処理プログラム
KR102236639B1 (ko) 음절 기반의 벡터를 이용한 한글 오류 보정 방법 및 한글 오류 보정 시스템
JP7143752B2 (ja) 学習プログラム、学習方法および学習装置
Ali USING MACHINE LEARNING MODELS AND DEEP LEARNING NETWORKS FOR HANDWRITTEN NUMBERS AND LETTERS RECOGNITION
JP7268347B2 (ja) 識別装置、識別方法及びプログラム
An et al. Independent Gabor analysis of multiscale total variation-based quotient image

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220922

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: 20230117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230213

R150 Certificate of patent or registration of utility model

Ref document number: 7228542

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150