特許異議申立
2020-700120
機械学習装置、補正パラメータ調整装置および機械学習方法
- 審判番号
- 2020-700120
- 法域
- 特許
- 審判種別
- 異議申立(異議の決定)
- 出願番号
- 特願2018-564994
- 登録番号
- 6567205
- 請求日
- 2020年02月27日
- 審決日
- 2022年10月06日
- 公報発行日
- 2023年01月27日
- 結論
- 訂正認容
- 当事者
- 【権利者】三菱電機株式会社
- 【権利者代理人】高村 順
- 【異議申立人】藤江 桂子
- 審判長/審判官
- 審判長 刈間 宏信
- 審判官 見目 省二
- 審判官 大山 健
- 分類
- P1651.161-YAA(G05D) / P1651.121-YAA(G05D) / P1651.536-YAA(G05D) / P1651.537-YAA(G05D) / P1651.851-YAA(G05D) / P1651.853-YAA(G05D)
- 条文(本文から自動抽出・参考)
- 特許法第29条の2、特許法第120条の5第2項、特許法第120条の5第9項、特許法第29条第2項、特許法第36条第4項第1号、特許法第36条第6項第2号
- データ出所
- 審決公報(XML)
事件の表示
特許第6567205号発明「機械学習装置、補正パラメータ調整装置および機械学習方法」の特許異議申立事件について、次のとおり決定する。
結論
結 論
特許第6567205号の明細書、特許請求の範囲を訂正請求書に添付された訂正明細書、特許請求の範囲のとおり、訂正後の請求項〔1~10〕、11について訂正することを認める。
特許第6567205号の請求項1~11に係る特許を維持する。
理由
理 由
第1 手続の経緯
特許第6567205号の請求項1~11に係る特許についての出願は、2018年(平成30年)6月14日を国際出願日として出願されたものであり、令和1年8月9日にその特許権の設定登録がされ、令和1年8月28日に特許掲載公報が発行された。本件特許異議の申立ての主な経緯は、次のとおりである。
令和 2年 2月27日 : 特許異議申立人藤江桂子(以下「特許異
議申立人」という。)による請求項1~1
1に係る特許に対する特許異議の申立て
令和 2年 5月11日付け: 取消理由通知
令和 2年 6月24日 : 特許権者と審判合議体との面接
令和 2年 7月13日 : 特許権者による意見書及び訂正請求書の
提出
令和 2年 8月18日 : 特許異議申立人による意見書の提出
令和 3年 2月 4日付け: 訂正拒絶理由通知
令和 3年 2月25日付け: 特許権者と審判合議体との電子メール
及び電話での応対の記録
令和 3年 3月10日 : 特許権者による意見書及び手続補正書の
提出
令和 3年 5月26日付け: 取消理由通知(決定の予告)
令和 3年 7月 8日付け: 特許権者と審判合議体との電子メール
及び電話での応対の記録
令和 3年 7月29日 : 特許権者による意見書及び訂正請求書の
提出
令和 3年 9月 3日 : 特許異議申立人による意見書の提出
令和 4年 3月 9日付け: 取消理由通知(決定の予告)
令和 4年 4月28日付け: 特許権者と審判合議体との電子メール
及び電話での応対の記録
令和 4年 5月12日 : 特許権者による意見書及び訂正請求書の
提出
令和 4年 6月21日 : 特許異議申立人による意見書の提出
第2 訂正の適否
1 訂正請求書による訂正の内容
令和4年5月12日提出の訂正請求書により、特許権者は、特許請求の範囲の訂正を求めているところ、訂正事項は以下のとおりである。(下線部は、訂正により変更又は追加された箇所を示す。)
なお、令和2年7月13日に提出され、令和3年3月10日に補正された訂正請求書による訂正の請求及び令和3年7月29日に提出された訂正請求書による訂正の請求は、取り下げられたものとみなす。
(1)訂正事項1
特許請求の範囲の請求項1における「前記モータ駆動装置の駆動データおよび前記補正機能の種類に基づいて計算された特徴量と、」との記載を、「前記補正機能の種類に基づいて、前記モータ駆動装置の駆動データから計算により切り取られ抽出された特徴量と、」に訂正する。(請求項1の記載を引用する請求項2~10も同様に訂正する。)
(2)訂正事項2
特許請求の範囲の請求項1における「前記状態変数に基づいて作成される訓練データセットに従って、前記補正パラメータを前記補正機能毎に学習する学習部と、」との記載を、「前記状態変数に基づいて前記補正機能毎に作成される訓練データセットに従って、前記訓練データセットに含まれる前記状態変数を用いて前記補正パラメータを前記補正機能毎に学習する学習部と、」に訂正する。(請求項1の記載を引用する請求項2~10も同様に訂正する。)
(3)訂正事項3
願書に添付した明細書の段落【0007】に記載された「複数の種類の補正機能を有するモータ駆動装置においてモータを制御するための指令値の補正に用いられる補正パラメータを学習する機械学習装置であって、モータ駆動装置の駆動データおよび補正機能の種類に基づいて計算された特徴量と、補正パラメータとを状態変数として観測する状態観測部と、状態変数に基づいて作成される訓練データセットに従って、補正パラメータを補正機能毎に学習する学習部と、を備えることを特徴とする。」を「複数の種類の補正機能を有するモータ駆動装置においてモータを制御するための指令値の補正に用いられる補正パラメータを学習する機械学習装置であって、補正機能の種類に基づいて、モータ駆動装置の駆動データから計算により切り取られ抽出された特徴量と、補正パラメータとを状態変数として観測する状態観測部と、状態変数に基づいて補正機能毎に作成される訓練データセットに従って、訓練データセットに含まれる状態変数を用いて補正パラメータを補正機能毎に学習する学習部と、を備えることを特徴とする。」に訂正する。
(4)訂正事項4
特許請求の範囲の請求項11における「前記モータ駆動装置の駆動データおよび前記補正機能の種類に基づいて計算された特徴量と、」との記載を、訂正事項1と同様に、「前記補正機能の種類に基づいて、前記モータ駆動装置の駆動データから計算により切り取られ抽出された特徴量と、」に訂正する。
(5)訂正事項5
特許請求の範囲の請求項11における「前記状態変数に基づいて作成される訓練データセットに従って、前記補正パラメータを前記補正機能毎に学習するステップと、」との記載を、訂正事項2と同様に、「前記状態変数に基づいて前記補正機能毎に作成される訓練データセットに従って、前記訓練データセットに含まれる前記状態変数を用いて前記補正パラメータを前記補正機能毎に学習するステップと、」に訂正する。
2 訂正の対象となる請求項(一群の請求項)
本件訂正のうち、訂正事項1及び2に係る訂正は、請求項1についての訂正であり、訂正事項3に係る訂正は、明細書の記載について、訂正後の請求項1の記載に整合させる訂正であるところ、請求項2~10は請求項1を引用する請求項であるから、訂正事項1~3に係る訂正は、一群の請求項〔1~10〕に対して請求されたものである。
また、本件訂正のうち、訂正事項4及び5に係る訂正は、請求項11に対して請求されたものである。
3 本件訂正の目的の適否、新規事項の有無、特許請求の範囲の拡張・変更の存否
(1)訂正事項1、2について
ア 訂正の目的
訂正事項1は、特許請求の範囲の請求項1について、訂正前の「特徴量」が、「前記モータ駆動装置の駆動データおよび前記補正機能の種類に基づいて計算された」ものとされていたのを、「補正機能の種類に基づいて」、「モータ駆動装置の駆動データから」、「計算により切り取られ抽出」されるものであること、すなわち、特徴量を特定するために必要な計算の内容を限定することで特許請求の範囲を減縮しようとするものであるから、この訂正の目的は、特許法第120条の5第2項ただし書第1号の特許請求の範囲の減縮を目的とするものに該当する。
訂正事項2は、特許請求の範囲の請求項1について、訂正前の「学習部」が、「前記状態変数に基づいて作成される訓練データセットに従って、前記補正パラメータを前記補正機能毎に学習する」ものとされていたのを、前記状態変数に基づいて「前記補正機能毎に」作成される訓練データセットに従って、「前記訓練データセットに含まれる前記状態変数を用いて」前記補正パラメータを前記補正機能毎に学習するもの、すなわち、学習に用いる訓練データセットが補正機能毎に作成されるものであること、学習が訓練データセットに含まれる状態変数を用いて行われること(訓練データセットには状態変数が含まれ、当該状態変数を用いて学習すること)を限定することで特許請求の範囲を減縮しようとするものであるから、この訂正の目的は、特許法第120条の5第2項ただし書第1号の特許請求の範囲の減縮を目的とするものに該当する。
イ 新規事項、特許請求の範囲の拡張・変更の存否
訂正事項1、2に関し、願書に添付した明細書(以下「本件特許明細書」という。)の段落【0017】には、「アルゴリズム選択部61は、補正機能情報から調整対象となる補正機能を示す情報を取得し、補正機能ごとに学習用駆動データDeから特徴量を抽出するために使用するアルゴリズムを選択する。・・・アルゴリズム記憶部62には、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ、バンドエリミネイトフィルタなどの各種フィルタ、運動方向反転位置検出、速度ゼロ近傍検出、コーナ部検出などの運動特徴波形抽出、データ切り取り処理などを実行するための計算アルゴリズムを示す関数群が格納されている。データの切り取りは、データを切り取って切り取った部分を抽出することを指す。特徴量計算部63は、アルゴリズム選択部61から入力される計算アルゴリズム選択指令に基づいて、使用する計算アルゴリズムをアルゴリズム記憶部62から取出して、取出した計算アルゴリズムを用いて、学習用駆動データDeから補正機能ごとに特徴量を計算する。」との記載があり、段落【0018】には、「摩擦補正機能については、アルゴリズム選択部61は、運動方向反転位置検出、運動方向反転時近傍のデータ切り取りを選択する。学習用駆動データDeに、位置指令、位置フィードバック、モータ電流、理想的な位置に対する実際の位置のデータが含まれている場合、特徴量計算部63は、それぞれのデータに関して、選択された計算アルゴリズムを適用して特徴量を算出する。また、振動補正機能については、アルゴリズム選択部61は、運動停止直後のデータの切り取り、バンドパスフィルタを選択する。」との記載があるところ、データ切り取り処理は計算アルゴリズムによりなされるもの、すなわち、データ切り取りは計算によるものであり、したがって、上記段落【0017】、【0018】の記載から、特徴量が、補正機能の種類に基づいて、前記モータ駆動装置の駆動データから計算により切り取られ抽出されるものであることが理解できる。
また、本件特許明細書の段落【0019】には、「機械学習装置100は、補正機能選択部12から入力される補正機能情報および補正パラメータ情報と、特徴量抽出部14から入力される特徴量Fvとに基づいて、補正パラメータを特徴量Fvごとに学習する。」、段落【0020】には、「状態観測部101は、補正パラメータ情報および特徴量を用いて、補正パラメータと、補正機能に基づいて抽出された特徴量とを状態変数として観測する。状態観測部101は、状態変数に基づいて、補正機能毎に訓練データセットを作成して出力する。学習部102は、状態観測部101が状態変数に基づいて作成した訓練データセットを用いて、特徴量毎に、つまり、補正機能毎に補正パラメータの学習を行い、学習結果Frを出力する。」と記載されるところ、この記載から、訓練データセットは補正機能毎に作成されるものであり、当該訓練データセットは状態変数に基づいて作成されるものであるから状態変数が含まれること、状態変数が含まれる訓練データセットを用いて学習が行われること(状態変数を用いて学習がなされること)が理解できる。
そうすると、「前記状態変数に基づいて前記補正機能毎に作成される訓練データセットに従って、前記訓練データセットに含まれる前記状態変数を用いて前記補正パラメータを前記補正機能毎に学習する」ことは本件特許明細書に記載された事項又は当該記載された事項から当業者にとって自明な事項である。
よって、訂正事項1、2に係る訂正は、本件特許明細書に記載された事項の範囲内で行われるものであるから新規事項に該当しない。
また、訂正事項1、2に係る訂正は、特許請求の範囲の減縮をするものであり、実質上特許請求の範囲を拡張し、又は変更するものに該当しないことは明らかであるから、特許法第120条の5第9項において準用する同法第126条第5項、第6項の規定に適合する。
(2)訂正事項3について
ア 訂正の目的
訂正事項3に係る訂正は、上記訂正事項1、2により請求項1が訂正されることに伴い、本件特許明細書の段落【0007】の記載を請求項1の記載と整合させるために行われるものであるから、許法第120条の5第2項ただし書第3号の明瞭でない記載の釈明を目的とする。
イ 新規事項、特許請求の範囲の拡張・変更の存否
訂正事項3に係る訂正が新規事項及び特許請求の範囲の拡張又は変更に当たらないことは上記(1)イについて記載したと同様であるから、特許法第120条の5第9項において準用する同法第126条第5項、第6項の規定に適合する。
(3)訂正事項4、5について
ア 訂正の目的
訂正事項4は、特許請求の範囲の請求項11について、訂正前の「特徴量」が、「前記モータ駆動装置の駆動データおよび前記補正機能の種類に基づいて計算された」ものとされていたのを、「補正機能の種類に基づいて」、「モータ駆動装置の駆動データから」、「計算により切り取られ抽出」されるものであること、すなわち、訂正事項1と同様に、特徴量を特定するために必要な計算の内容を限定することで特許請求の範囲を減縮しようとするものであるから、この訂正の目的は、特許法第120条の5第2項ただし書第1号の特許請求の範囲の減縮を目的とするものに該当する。
訂正事項5は、特許請求の範囲の請求項11について、訂正前の「学習部」が、「前記状態変数に基づいて作成される訓練データセットに従って、前記補正パラメータを前記補正機能毎に学習する」ものとされていたのを、前記状態変数に基づいて「前記補正機能毎に」作成される訓練データセットに従って、「前記訓練データセットに含まれる前記状態変数を用いて」前記補正パラメータを前記補正機能毎に学習するもの、すなわち、訂正事項2と同様に、学習に用いる訓練データセットが補正機能毎に作成されるものであること、学習が訓練データセットに含まれる状態変数を用いて行われること(訓練データセットには状態変数が含まれ、当該状態変数を用いて学習すること)を限定することで特許請求の範囲を減縮しようとするものであるから、この訂正の目的は、特許法第120条の5第2項ただし書第1号の特許請求の範囲の減縮を目的とするものに該当する。
イ 新規事項、特許請求の範囲の拡張・変更の存否
訂正事項4、5に係る訂正が新規事項及び特許請求の範囲の拡張又は変更に当たらないことは上記(1)イについて記載したと同様であるから、特許法第120条の5第9項において準用する同法第126条第5項、第6項の規定に適合する。
4 むすび
訂正事項1~5に係る訂正は、特許法第120条の5第2項ただし書第1号又は第3号に掲げる事項を目的とするものであり、かつ、同条第9項で準用する同法第126条第5項及び第6項の規定に適合する。
したがって、明細書及び特許請求の範囲を、訂正請求書に添付された訂正明細書及び訂正特許請求の範囲のとおり、訂正後の請求項〔1~10〕、11について訂正することを認める。
第3 本件発明
上記第2のとおり、本件訂正は認められるから、本件の請求項1~11に係る発明(以下「本件発明1」等という。また、訂正後の明細書を「本件明細書」という。)は、次の事項により特定されるものである。
「【請求項1】
複数の種類の補正機能を有するモータ駆動装置においてモータを制御するための指令値の補正に用いられる補正パラメータを学習する機械学習装置であって、
前記補正機能の種類に基づいて、前記モータ駆動装置の駆動データから計算により切り取られ抽出された特徴量と、前記補正パラメータとを状態変数として観測する状態観測部と、
前記状態変数に基づいて前記補正機能毎に作成される訓練データセットに従って、前記訓練データセットに含まれる前記状態変数を用いて前記補正パラメータを前記補正機能毎に学習する学習部と、
を備えることを特徴とする機械学習装置。
【請求項2】
前記駆動データは、前記モータ駆動装置を駆動するモータからのフィードバックデータ、および、前記モータの制御対象である機械装置の駆動データのうち少なくとも1つを含むことを特徴とする請求項1に記載の機械学習装置。
【請求項3】
前記特徴量は、複数次元のベクトル量であり、前記補正機能毎の前記駆動データの特性を示すデータであることを特徴とする請求項1または2に記載の機械学習装置。
【請求項4】
前記学習部は、
前記状態変数に基づいて報酬を計算する報酬計算部と、
前記報酬に基づいて、前記補正パラメータを決定するための関数を更新する関数更新部と、
を有することを特徴とする請求項1から3のいずれか1項に記載の機械学習装置。
【請求項5】
前記関数更新部は、前記補正機能毎に前記関数を更新することを特徴とする請求項4に記載の機械学習装置。
【請求項6】
請求項1から5のいずれか1項に記載の機械学習装置と、
前記複数の種類の補正機能のうちの1つを選択する補正機能選択部と、
前記駆動データを取得する駆動データ取得部と、
選択された前記補正機能と、取得された前記駆動データとに基づき、前記特徴量を抽出する特徴量抽出部と、
前記補正パラメータの調整要件を入力する調整要件入力部と、
前記学習部の学習結果に基づいて、前記調整要件を満たす前記補正パラメータを決定する補正パラメータ決定部と、
を備えることを特徴とする補正パラメータ調整装置。
【請求項7】
前記駆動データは、前記モータ駆動装置を駆動するモータからのフィードバックデータ、および、前記モータの制御対象である機械装置の駆動データのうち少なくとも1つを含むことを特徴とする請求項6に記載の補正パラメータ調整装置。
【請求項8】
前記機械装置の駆動データは、前記機械装置に設置したセンサから取得した検出データであることを特徴とする請求項7に記載の補正パラメータ調整装置。
【請求項9】
前記補正パラメータ決定部は、
前記学習結果に基づいて補正パラメータを計算し、計算した前記補正パラメータを前記モータ駆動装置に送信する補正パラメータ計算部と、
計算した前記補正パラメータによる駆動結果が前記調整要件を満たすか否かを評価する補正パラメータ評価部と、
前記補正パラメータ評価部の評価結果に基づいて、前記補正パラメータの調整を終了するか否かを判定する終了判定部と、
を備えることを特徴とする請求項6から8のいずれか1項に記載の補正パラメータ調整装置。
【請求項10】
前記補正パラメータ評価部は、実際に前記モータ駆動装置を駆動したときに取得される駆動データ、および、前記モータ駆動装置の動きをシミュレーションしたときに取得される駆動データの少なくとも1つを用いて評価を行うことを特徴とする請求項9に記載の補正パラメータ調整装置。
【請求項11】
複数の種類の補正機能を有するモータ駆動装置においてモータを制御するための指令値の補正に用いられる補正パラメータを学習する機械学習方法であって、
機械学習装置が、前記補正機能の種類に基づいて、前記モータ駆動装置の駆動データから計算により切り取られ抽出された特徴量と、前記補正パラメータとを状態変数として観測するステップと、
前記機械学習装置が、前記状態変数に基づいて前記補正機能毎に作成される訓練データセットに従って、前記訓練データセットに含まれる前記状態変数を用いて前記補正パラメータを前記補正機能毎に学習するステップと、
を含むことを特徴とする機械学習方法。」
第4 当審が令和4年3月9日付け取消理由通知(決定の予告)で通知した取消理由について
1 取消理由の概要
令和4年3月9日付けで、当審において令和3年7月29日付け訂正請求書により訂正された請求項1~11に対し通知した取消理由通知(決定の予告)の理由(以下「取消理由」という。)の概要は以下のとおりである。
請求項1~11に係る発明は、本件特許出願の日前の特許出願であって、本件特許出願後に出願公開がされた甲第7号証の特許出願の願書に最初に添付した明細書、特許請求の範囲又は図面に記載された発明と同一であり、しかも、本件特許出願の発明者が甲第7号証の特許出願に係る上記の発明をした者と同一ではなく、また本件特許出願の時において、その出願人が甲第7号証の特許出願の出願人と同一でもないから、請求項1~11に係る特許は、特許法第29条の2(拡大先願)の規定に違反してされたものである。
・証拠
甲第7号証:特願2018-77686号(特開2019-185539号)
2 取消理由の判断
上記第2のとおり、本件訂正は認められるところ、訂正後の請求項に係る発明を基に取消理由(上記1)について検討する。
(1)甲第7号証の記載事項等
甲第7号証(以下「甲7」という。)の特許出願は、本件特許の出願日(国際出願日)よりも前の平成30年4月13日に出願され、本件特許の出願日よりも後の令和1年10月24日に出願公開がされたものであり、本件特許とは発明者及び出願人が異なるところ、甲7の特許出願の願書に最初に添付した明細書には、以下の事項が記載されている(下線は当審で付与した。)。
ア 「【0001】
本発明は、少なくとも2軸以上を駆動するモータを制御する制御装置と制御装置に対して機械学習を行う機械学習装置とを制御する調整装置及びその調整方法に関する。」
イ 「【0005】
本発明は・・・予め設定される特徴的な加工要素に対応する学習要素毎に学習する機械学習部を備える機械学習装置に対して、複数の特徴的な加工要素を含むワークを加工するための1つの評価用プログラムを動作させて学習する場合に、学習動作の間に、学習要素に応じて対応する機械学習部に基づいて学習することができるように、機械学習部を切り替えて学習するように制御する調整装置及びその調整方法を提供することを目的とする。」
ウ 「【0024】
以下、本発明の実施形態について図面を用いて詳細に説明する。
(第1の実施形態)
図1は本発明の第1の実施形態の調整システムを示すブロック図である。調整システム10は、図1に示すように、CNC(Computerized Numerical Control)装置100、機械学習装置200、及び調整装置300を備える。ここで、CNC装置100と機械学習装置200とは1対1の組とされて、調整装置300を介して通信可能に接続されている。より具体的には、調整装置300とCNC装置100、及び調整装置300と機械学習装置200とは、それぞれ接続インターフェースを介して直接に接続、又はそれぞれネットワークを介して接続されており、相互に通信を行うことが可能である。・・・」
エ 「【0026】
図3に示すように、位置P1で、テーブルをX軸方向に移動するサーボモータは、停止から回転動作に移り、テーブルはY軸方向の直線動作から円弧動作に移る。位置P2で、テーブルをY軸方向に移動するサーボモータは、回転から停止に移り、テーブルは円弧動作からX軸方向の直線動作に移る。
【0027】
また、図3に示すように、位置Q1で、テーブルをX軸方向に移動するサーボモータは回転方向が反転し、テーブルはX軸方向に直線反転するように移動する。
【0028】
すなわち、図3に示す加工ワークは、P1~P2を含む加工要素(以下、「線形的に回転速度が変更される加工要素」、「第1の加工要素」ともいう)と、Q1を含む加工要素(以下、「非線形的に回転速度が変更される加工要素」、「第2の加工要素」ともいう)との、種類の異なる2つの加工要素を含む。
【0029】
本実施形態においては、位置P1及び位置P2を含む加工要素(第1の加工要素)により、線形的に回転速度が変更されたときの速度指令の最適な補正を行うための第1の学習を行うと共に、位置Q1を含む加工要素(第2の加工要素)により、回転方向が反転する場合に惰走(いわゆる「象限突起」)が発生するときの(象限突起を抑制するための)速度指令の最適な補正を行うための第2の学習を行うものとする。
このため、本実施形態においては、機械学習装置が、各々の加工要素に対応する機械学習部を備え、CNC装置が、各々の加工要素に対する補正部を備えると共に、各補正部が、自身に対応する機械学習部の学習により生成された制御パラメータを用いて速度指令に対する補正を行う。これら学習の詳細については、後述する。
・・・
【0031】
<CNC装置100>
図2はCNC装置の一構成例を示すブロック図である。説明の便宜上、図2において、調整装置300及び機械学習装置200も示している。ここで、CNC装置100は、サーボ制御部を含むものを例示しているが、これに限られない。サーボ制御部を別装置としてもよい。
【0032】
図2に示すように、CNC装置100は、制御対象500のサーボモータ600を制御する。サーボモータ600は、制御される軸が少なくとも2軸以上ある場合は軸の数分設けられる。本実施形態では評価用プログラムが少なくとも2軸動作させるので、サーボモータの数は少なくとも2つ設けられる。ここではモータとしてサーボモータを示しているが、スピンドルモータ等の他のモータを用いてもよい。制御対象500は例えばサーボモータ、サーボモータを含む工作機械,ロボット,産業機械等である。CNC装置100は工作機械、ロボット、又は産業機械等の一部として設けられてもよい。以下、制御対象500がサーボモータを含む工作機械である場合を例にとって説明する。
【0033】
図2に示すように、CNC装置100は、数値制御情報処理部1011、記憶部1012、減算器1013、位置制御部1014、加算器1015、減算器1016、速度制御部1017、加算器1018、積分器1019、第1補正部1031_1及び第2補正部1031_2を備えている。数値制御情報処理部1011と記憶部1012を除くCNC装置100の各構成部はサーボモータ毎に設けられる。第1補正部1031_1は、線形的に回転速度が変更される加工要素(第1の加工要素)に対応し、第2補正部1031_2は、非線形的に回転速度が変更される加工要素(第2の加工要素)に対応する。
・・・
【0035】
数値制御情報処理部1011は、後述の調整装置300からの実行指示に基づいて、記憶部1012から評価用プログラムを読み出して、評価用プログラムを実行する。そうすることで、数値制御情報処理部1011は、当該評価用プログラム中に含まれるコードに基づいて位置指令値を作成し、減算器1013に出力する。数値制御情報処理部1011は、評価用プログラムにより指定される加工形状となるように、送り速度を設定して位置指令値を作成する。
【0036】
減算器1013は数値制御情報処理部1011から位置指令値を受け、位置指令値と位置フィードバックされた検出位置との差を求め、位置偏差として位置制御部1014に出力すると共に後述の調整装置300に対して送信する。」
オ 「【0038】
第1補正部1031_1は、例えば数式1(以下に数1として示す)で示す伝達関数Gf(s)で示される補正量計算処理を行い、算出した補正量(以下「第1の補正量」ともいう)を加算器1015に出力する。第1補正部1031_1は、第1の加工要素に対応する補正部である。したがって、第1補正部1031_1は、第1の加工要素に係る加工時に補正量を算出する。
【数1】
[図:0001393041000001.jpg]
第1の実施形態では、伝達関数Gf(s)の次元を予め設定された値とした場合に、各係数a1i、b1j(0≦i,j≦n)を最適なものとするように機械学習する。以下、係数a1i、b1jをCNC装置100の制御パラメータともいう。
なお、第1補正部1031_1は、通常のCNC装置における位置フィードフォワード計算部に対応する。
【0039】
第2補正部1031_2は、例えば数式2(以下に数2として示す)で示す、係数のみ異なる同一の伝達関数Gf(s)で示される補正量計算処理を行い、算出した補正量(以下「第2の補正量」ともいう)を加算器2017に出力する。第2補正部1031_2は、第2の加工要素に対応する補正部である。したがって、第2補正部1031_2は、第2の加工要素に係る加工時に補正量を算出する。
【数2】
[図:0001393041000002.jpg]
【0040】
第1補正部1031_1で用いる伝達関数Gf(s)の係数と同様に、伝達関数Gf(s)の次元を予め設定された値とした場合に、各係数a2i、b2j(0≦i,j≦n)を最適なものとするように機械学習する。以下、係数a2i、b2jもCNC装置100の制御パラメータともいう。
なお、第2補正部1031_2は、通常のCNC装置におけるバックラッシ補正部に対応する。
【0041】
加算器1015は、速度指令値と第1補正部1031_1又は第2補正部1031_2の出力値とを加算して、補正された速度指令値として減算器1016に出力する。減算器1016は加算器1015の出力と速度フィードバックされた速度検出値との差を求め、その差を速度偏差として速度制御部1017に出力する。
【0042】
速度制御部1017は、速度偏差に積分ゲインK1vを乗じて積分した値と、速度偏差に比例ゲインK2vを乗じた値とを加算して、トルク指令値としてサーボモータ600に出力する。
【0043】
制御対象500のサーボモータ600の回転角度位置は、サーボモータ600に関連付けられた、位置検出部となるロータリーエンコーダによって検出され、検出された信号は速度フィードバックされる速度検出値として利用される。速度検出値は積分器1019で積分され、位置フィードバックされる位置検出値として利用される。
以上のように、CNC装置100は構成される。
【0044】
<機械学習装置200>
次に、第1実施形態における機械学習装置200について説明する。前述したとおり、機械学習装置200は、2つの機械学習部210_1及び210_2を備え、機械学習部210_1は、[数1]で示す第1補正部1031_1における伝達関数に係る制御パラメータa1i、b1i(0≦i≦n)を強化学習する。また、機械学習部210_2は、[数2]で示す第2補正部1031_2における伝達関数に係る制御パラメータa2j、b2j(0≦j≦n)を強化学習する。すなわち、機械学習部210_1は、CNC装置100が備える第1補正部1031_1に対応し、機械学習部210_2は、第2補正部1031_2に対応する。
【0045】
機械学習部210_1は、[数1]で示す第1補正部1031_1における伝達関数に係る制御パラメータa1i、b1iの値、並びに評価用プログラムを実行することで取得されるCNC装置100の位置偏差情報を含む、指令及びフィードバック等のサーボ状態を状態Sとして、当該状態Sに係る制御パラメータa1i、b1iの調整を行動Aとする、Q学習(Q-learning)を行う。同様に、機械学習部210_2は、[数2]で示す第2補正部1031_2における伝達関数に係る制御パラメータa2j、b2jの値、並びに評価用プログラムを実行することで取得されるCNC装置100の位置偏差情報を含む、指令及びフィードバック等のサーボ状態を状態Sとして、当該状態Sに係る制御パラメータa2j、b2jの調整を行動Aとする、Q学習(Q-learning)を行う。当業者にとって周知のように、Q学習では、或る状態Sのとき、取り得る行動Aのなかから、価値Q(S,A)の最も高い行動Aを最適な行動として選択することを目的とする。
【0046】
具体的には、エージェント(機械学習装置)は、或る状態Sの下で様々な行動Aを選択し、その時の行動Aに対して、与えられる報酬に基づいて、より良い行動の選択をすることにより、正しい価値Q(S,A)を学習していく。」
カ 「【0050】
機械学習部210_1は、[数1]で示す第1補正部1031_1における伝達関数に係る制御パラメータa1i、b1jに基づいて、予め設定された評価用プログラムを実行することで得られるCNC装置100の位置偏差情報を含む、指令及びフィードバック等のサーボ状態を含む状態情報Sを観測して、行動Aを決定する。状態情報はフィードバック情報に対応する。機械学習部210_1は、行動Aをするたびに報酬rが返ってくる。
ここで、報酬rを次のように設定する。
行動情報Aにより状態情報Sが状態情報S´に修正された場合、状態情報S´に係る修正後の制御パラメータa1i、b1jに基づいて動作したCNC装置100の位置偏差の集合から所定の評価関数に基づいて算出される値が、行動情報Aにより修正される前の状態情報Sに係る修正前の制御パラメータa1i、b1jに基づいて動作したCNC装置100の位置偏差の集合から所定の評価関数に基づいて算出される値よりも大きくなった場合に、報酬の値を負の値とする。
【0051】
他方、行動情報Aにより修正された状態情報S´に係る修正後の制御パラメータa1i、b1jに基づいて動作したCNC装置100の位置偏差の集合から所定の評価関数に基づいて算出される値が、行動情報Aにより修正される前の状態情報Sに係る修正前の制御パラメータa1i、b1jに基づいて動作したCNC装置100の位置偏差の集合から所定の評価関数に基づいて算出される値よりも小さくなった場合に、報酬の値を正の値とする。
ここで、位置偏差の値の集合とは、前述した加工形状の位置P1と位置P2を含む所定の範囲内で計測される位置偏差の集合を意味する。また、評価関数としては、例えば、位置偏差の絶対値の積算値を算出する関数、位置偏差の絶対値に時間の重み付けをして積算値を算出する関数、位置偏差の絶対値の2n(nは自然数)乗の積算値を算出する関数、位置偏差の絶対値の最大値を算出する関数等が例示されるが、これに限られるものではない。
Q学習では、機械学習部210_1は、例えば、将来にわたっての報酬rの合計が最大になる最適な行動Aを試行錯誤的に探索する。そうすることで、機械学習部210_1は、第1補正部1031_1における伝達関数に係る制御パラメータa1i、b1jに基づいて、予め設定された評価用プログラムを実行することで取得されるCNC装置100の位置偏差情報を含む指令、フィードバック等のサーボ状態を含む状態Sに対して、最適な行動A(すなわち、最適な制御パラメータa1i、b1j)を選択することが可能となる。
なお、機械学習部210_2については、位置偏差の値の集合を、前述した加工形状の位置Q1を含む所定の範囲内で計測される位置偏差の集合として、読み替えることで説明されるので、詳細な説明は省略する。
【0052】
図4は本発明の第1の実施形態の機械学習部210_1又は機械学習部210_2に共通の機能ブロックを示すブロック図である。機械学習部210_1及び機械学習部210_2は、それぞれ状態情報取得部211_1、状態情報取得部211_2、学習部212_1、学習部212_2、行動情報出力部213_1、行動情報出力部213_2、価値関数記憶部214_1、価値関数記憶部214_2、及び最適化行動情報出力部215_1、最適化行動情報出力部215_2、を備える。また、学習部212_1、又は学習部212_2は、それぞれ報酬出力部2121_1、報酬出力部2121_2、価値関数更新部2122_1、価値関数更新部2122_2及び行動情報生成部2123_1、行動情報生成部2123_2を備える。
なお、説明の便宜上、機械学習部210_1又は機械学習部210_2を機械学習部210として説明する。同様に、状態情報取得部211_1、211_2、学習部212_1、212_2、行動情報出力部213_1、213_2、価値関数記憶部214_1、214_2、及び最適化行動情報出力部215_1、215_2、報酬出力部2121_1、2121_2、価値関数更新部2122_1、2122_2及び行動情報生成部2123_1、2123_2をそれぞれ、状態情報取得部211、学習部212、行動情報出力部213、価値関数記憶部214、最適化行動情報出力部215、報酬出力部2121、価値関数更新部2122、及び行動情報生成部2123と略する。
上述した強化学習を行うために、図4に示すように、機械学習部210は、状態情報取得部211、学習部212、行動情報出力部213、価値関数記憶部214、及び最適化行動情報出力部215を備える。学習部212は報酬出力部2121、価値関数更新部2122、及び行動情報生成部2123を備える。
【0053】
状態情報取得部211は、前述したように、CNC装置100における第1補正部1031_1における伝達関数に係る制御パラメータa1i、b1j又は第2補正部1031_2における伝達関数に係る制御パラメータa2i、b2jに基づいて、予め設定された評価用プログラムを実行することで取得されるCNC装置100の位置偏差情報を含む指令、フィードバック等のサーボ状態を含む、フィードバック情報となる状態情報Sを、後述の調整装置300を介してCNC装置100から取得する。この状態情報Sは、Q学習における、環境状態Sに相当する。
状態情報取得部211は、取得した状態情報Sを学習部212に対して出力する。
なお、最初にQ学習を開始する時点での第1補正部1031_1における伝達関数に係る制御パラメータa1i、b1j又は第2補正部1031_2における伝達関数に係る制御パラメータa2i、b2jは、予めユーザの指定により後述の調整装置300が生成する。本実施形態では、後述の調整装置300が作成した第1補正部1031_1における伝達関数に係る制御パラメータa1i、b1j又は第2補正部1031_2における伝達関数に係る制御パラメータa2i、b2jの初期設定値を、強化学習により最適なものに調整する。制御パラメータa1i、b1j又は制御パラメータa2i、b2jは例えば、初期設定値として、a1,0=a2,0=1、a1,1=a2,1=0、b1,0=b2,0=0、b1,1=b2,1=制御対象のイナーシャ値としてもよい。また、係数a1i、b1j又はa2i、b2jの次元m、nを予め設定してもよい。
例えば、a1i及びa2iについては0≦i≦m b1j及びb2jについては0≦j≦nとする。
【0054】
学習部212は、或る環境状態Sの下で、ある行動Aを選択する場合の価値Q(S,A)を学習する部分である。具体的には、学習部212は、報酬出力部2121、価値関数更新部2122及び行動情報生成部2123を備える。
【0055】
報酬出力部2121は、或る状態Sの下で、行動Aを選択した場合の報酬rを前述したとおり、算出する。
【0056】
価値関数更新部2122は、状態Sと、行動Aと、行動Aを状態Sに適用した場合の状態S´と、上記のようにして算出された報酬の値rと、に基づいてQ学習を行うことにより、価値関数記憶部214が記憶する価値関数Qを更新する。
なお、価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。オンライン学習、バッチ学習、ミニバッチ学習のいずれかの選択は調整装置300が行うことができる。
オンライン学習とは、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移する都度、即座に価値関数Qの更新を行うという学習方法である。また、バッチ学習とは、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移することを繰り返すことにより、学習用のデータを収集し、収集した全ての学習用データを用いて、価値関数Qの更新を行うという学習方法である。更に、ミニバッチ学習とは、オンライン学習と、バッチ学習の中間的な、ある程度学習用データが溜まるたびに価値関数Qの更新を行うという学習方法である。」
キ 「【0063】
<調整装置300>
次に、第1の実施形態における調整装置300について説明する。
図5A及び図5Bは調整装置300の一構成例を示すブロック図である。調整装置300は、フィードバック情報送信部301、パラメータ設定情報取得部302、パラメータ修正情報取得部303、起動指示出力部304、評価用プログラム記憶部305、評価用プログラム出力部306、評価用プログラム実行指示出力部307、フィードバック情報取得部308、パラメータ設定情報送信部309、パラメータ修正情報送信部310、パラメータ初期設定送信部311、及び制御部312を備えている。更に、制御部312は、学習制御部3121と判定部3122とを備える。」
ク 「【0073】
調整装置300からの実行指示を受けた後、CNC装置100の数値制御情報処理部1011は、ステップS63において、記憶部1012から評価用プログラムを読み出し、評価用プログラムに基づき位置指令値を作成する。CNC装置100はサーボモータ600を制御し、ステップS64において、第1補正部1031_1の伝達関数の各係数a1i、b1jの値、第2補正部1031_2の伝達関数の各係数a2i、b2jの値、並びに評価用プログラムを実行することで取得されるCNC装置100の位置偏差情報を含むフィードバック情報を、該フィードバック情報が由来する評価用加工プログラムの動作中の加工位置情報又は評価用プログラムのブロック番号と共に、調整装置300に送信する。このフィードバック情報は状態情報Sとなる。
【0074】
調整装置300の制御部312は、ステップS45で、フィードバック情報をブロック番号と共にフィードバック情報取得部308を介して取得し、フィードバック情報送信部301を介して、評価用加工プログラムの動作中の加工位置情報又は評価用プログラムのブロック番号に対応する機械学習部210_1又は210_2に送信する。機械学習部210_1又は210_2はステップS32でフィードバック情報を受信する。
・・・
【0076】
調整装置300の制御部312は、評価用プログラムによる一連の加工の終了通知を受けると、評価用プログラムの終了通知を受けた回数を記録、更新する。そして、調整装置300の制御部312は、ステップS46において、その回数が所定の回数を超えたか、或いは所定の学習期間を過ぎたかを判断し、機械学習を終了させるか否かの判断を行う。機械学習を終了させない場合には(ステップS46のNO)、ステップS47に移行する。機械学習を終了させる場合には(ステップS46のYES)、ステップS49に移行する。
調整装置300は、ステップS47において、機械学習装置200の機械学習部210_1又は210_2に対して、報酬計算、価値関数更新を指示する。
【0077】
機械学習装置200の機械学習部210_1又は210_2は、ステップS33で報酬計算、価値関数更新の指示を受信すると、ステップS34において、CNC装置100から受信した制御パラメータ、すなわち、自身に対応する第1補正部1031_1の伝達関数の各係数a1i、b1jの値(制御パラメータの値)又は第2補正部1031_2の伝達関数の各係数a2i、b2jの値(制御パラメータの値)が初期設定値であるか否かを判断する。言い換えると、制御パラメータが初期設定値(状態情報)S0の集合であるか、制御パラメータが初期設定値(状態情報)S0以降の状態情報Sの集合であるかを判断する。・・・」
ケ 「【0084】
機械学習装置200の機械学習部210_1又は210_2(最適化行動情報出力部215)は、ステップS38において、価値関数記憶部204に記憶している価値関数Qを取得し、取得した価値関数Qに基づいて、例えば、初期状態S0に対して最適化行動情報となる制御パラメータ設定情報を生成し、生成した制御パラメータ設定情報を調整装置300に対して出力する。
【0085】
調整装置300は、ステップS50において、制御パラメータ設定情報を、送信元が機械学習部210_1又は210_2のいずれであるかを示す情報と共に取得すると、CNC装置100の、制御パラメータ設定情報の送信元に対応する第1補正部1031_1又は第2補正部1031_2に対して出力する。
【0086】
CNC装置100は、ステップS67において、調整装置300から受信した制御パラメータ設定情報に基づいて、制御パラメータ設定情報の送信元に対応する第1補正部1031_1における伝達関数に係る係数a1i、b1j、及び第2補正部1031_2における伝達関数に係る係数a2i、b2jを最適な値に設定する。」
上記記載事項から以下の事項が理解できる。
コ 上記ア~エ、ケより、モータを制御する制御装置(CNC装置)に対して機械学習を行うものであり、線形的に回転速度が変更される位置P1及びP2を含む加工要素である第1加工要素と、非線形的に回転速度が変更される位置Q1を含む加工要素である第2加工要素との種類の異なる2つの加工要素について、線形的に回転速度が変更されたときの速度指令の最適な補正を行うための第1の学習、回転方向が反転する場合に惰走が発生するときの速度指令の最適な補正を行うための第2の学習をそれぞれ行うものであること。
サ 上記オ~カから、第1の学習、第2の学習は、状態Sの下で得られる報酬に基づくQ学習により、伝達関数の制御パラメータ(係数)が最適なものとなるよう、2つの機械学習部でなされるものであり、補正量は第1補正部、第2補正部で算出されること。また、状態情報は、状態情報取得部211で取得されるものであること。また、評価関数には位置偏差の値の集合が入力されるものであること(段落【0051】)。
シ 上記エ、クから、「調整装置300の制御部312は、・・・フィードバック情報をブロック番号と共にフィードバック情報取得部308を介して取得し、・・・評価用加工プログラムの動作中の加工位置情報又は評価用プログラムのブロック番号に対応する機械学習部210_1又は210_2に送信する」もの(段落【0074】)であるから、位置偏差情報を含むフィードバック情報(状態情報)を、第1の学習、第2の学習のために、それぞれ加工位置情報又は評価用プログラムのブロック番号に対応付けて抽出していること。また、調整装置に送信される位置偏差は、位置指令値と位置フィードバックされた検出位置との差として減算器1013により求められること(段落【0036】)。
ス 上記カ、クから、「フィードバック情報」は、CNC装置100の位置偏差情報を含む指令、フィードバック、制御パラメータ等のサーボ状態を含むものであり、「状態情報」と等価の意味で用いられていること(段落【0053】、【0073】、【0077】)。
セ 上記キ~クから、調整装置300の制御部312は、機械学習の回数が所定の回数を超えたか、或いは所定の学習期間を過ぎたかを判断し、機械学習を終了させるか否かの判断を行うこと(段落【0076】)。
(2)甲7発明
上記(1)から、甲7には以下の発明(以下「甲7発明」という。)が開示されていると認められる。
線形的に回転速度が変更される位置P1及びP2を含む加工要素である第1加工要素と、非線形的に回転速度が変更される位置Q1を含む加工要素である第2加工要素との種類の異なる2つの加工要素について、線形的に回転速度が変更されたときの速度指令の最適な補正、回転方向が反転する場合に惰走が発生するときの速度指令の最適な補正をそれぞれ行う、モータを制御する制御装置において、各加工要素についての速度指令の最適な補正を行うための制御パラメータの第1の学習、第2の学習を、第1の学習部、第2の学習部で行う機械学習装置であって、
状態情報取得部で得た位置偏差情報を含む指令、フィードバック、制御パラメータ等のサーボ状態を含むフィードバック情報の状態情報を、第1の学習、第2の学習のためにそれぞれ加工位置情報又は評価用プログラムのブロック番号に対応付けて抽出する調整装置の制御部を有し、位置偏差情報は位置指令値と位置フィードバックされた検出位置との差として求められるものであり、
前記状態情報に基づいて前記第1の学習、第2の学習のためにそれぞれ作成される位置偏差の値の集合を評価関数に入力することで、第1加工要素、第2加工要素のそれぞれの速度指令に対する補正をする制御パラメータを学習する2つの機械学習部と、
を備える機械学習装置。
(3)本件発明1について
本件発明1と甲7発明との対比、検討をする。
甲7発明における、種類の異なる2つの加工要素について、それぞれ最適な補正を行うことは、本件発明1において、複数の種類の補正機能を有することに相当するといえ、甲7発明の「モータを制御する制御装置」は、本件発明1の「モータ駆動装置」に相当する。
よって、甲7発明の「線形的に回転速度が変更される位置P1及びP2を含む加工要素である第1加工要素と、非線形的に回転速度が変更される位置Q1を含む加工要素である第2加工要素との種類の異なる2つの加工要素について、線形的に回転速度が変更されたときの速度指令の最適な補正、回転方向が反転する場合に惰走が発生するときの速度指令の最適な補正をそれぞれ行う、モータを制御する制御装置」は、本件発明1の「複数の種類の補正機能を有するモータ駆動装置」に相当する。
甲7発明における「各加工要素についての速度指令の最適な補正を行うための制御パラメータの第1の学習、第2の学習を、第1の学習部、第2の学習部で行う」ことは、本件発明1の「モータを制御するための指令値の補正に用いられる補正パラメータを学習する」ことに相当し、甲7発明の「機械学習装置」は、本件発明1の「機械学習装置」に相当する。
甲7発明の「状態情報取得部で得た位置偏差情報を含む指令、フィードバック、制御パラメータ等のサーボ状態を含むフィードバック情報の状態情報を、第1の学習、第2の学習のためにそれぞれ加工位置情報又は評価用プログラムのブロック番号に対応付けて抽出する調整装置の制御部」に関し、位置偏差(情報)を求める際に、位置指令値と位置フィードバックされた検出位置との差を求める減算(計算)の処理を含むものであり、第1学習、第2学習それぞれに用いる情報のみを抽出するものであるから、「抽出」により得られた「状態情報」は、本件発明1の「特徴量」に相当するといえる。また、甲7発明の「制御パラメータ」が本件発明1の「補正パラメータ」に相当することは明らかであるところ、甲7発明の「状態情報」は、特徴量に相当する情報と、補正パラメータに相当する制御パラメータを含むから、本件発明1の「状態変数」に相当する。
よって、甲7発明の「状態情報取得部で得た位置偏差情報を含む指令、フィードバック、制御パラメータ等のサーボ状態を含むフィードバック情報の状態情報を、第1の学習、第2の学習のためにそれぞれ加工位置情報又は評価用プログラムのブロック番号に対応付けて抽出する調整装置の制御部」は、本件発明1の「前記補正機能の種類に基づいて、前記モータ駆動装置の駆動データから計算により切り取られ抽出された特徴量と、前記補正パラメータとを状態変数として観測する状態観測部」と、「前記補正機能の種類に基づいて、前記モータ駆動装置の駆動データから計算により抽出された特徴量と、前記補正パラメータとを状態変数として観測する状態観測部」という限りにおいて相当する。
甲7発明の「前記状態情報に基づいて前記第1の学習、第2の学習のためにそれぞれ作成される位置偏差の値の集合を評価関数に入力することで、第1加工要素、第2加工要素のそれぞれの速度指令に対する補正をする制御パラメータを学習する2つの機械学習部」に関し、学習のための評価関数に入力される「位置偏差の値の集合」は、位置偏差が状態情報に基づくものであることは明らかであるから、当該「位置偏差の値の集合」は、本件発明1の「前記状態変数に基づいて」「作成される訓練データセット」に相当し、甲7発明の「機械学習部」は、本件発明1の「学習部」に相当する。
よって、甲7発明の「前記状態情報に基づいて前記第1の学習、第2の学習のためにそれぞれ作成される位置偏差の値の集合を評価関数に入力することで、第1加工要素、第2加工要素のそれぞれの速度指令に対する補正をする制御パラメータを学習する2つの機械学習部」は、本件発明1の「前記状態変数に基づいて前記補正機能毎に作成される訓練データセットに従って、前記訓練データセットに含まれる前記状態変数を用いて前記補正パラメータを前記補正機能毎に学習する学習部」に相当する。
そうすると、本件発明1と甲7発明とは以下の一致点で一致し、相違点において相違する。
一致点:複数の種類の補正機能を有するモータ駆動装置においてモータを制御するための指令値の補正に用いられる補正パラメータを学習する機械学習装置であって、
前記補正機能の種類に基づいて、前記モータ駆動装置の駆動データから計算により抽出された特徴量と、前記補正パラメータとを状態変数として観測する状態観測部と、
前記状態変数に基づいて前記補正機能毎に作成される訓練データセットに従って、前記訓練データセットに含まれる前記状態変数を用いて前記補正パラメータを前記補正機能毎に学習する学習部と、
を備える機械学習装置。
相違点:本件発明1の特徴量は、モータ駆動装置のデータから計算により切り取られ抽出されたものであるのに対し、甲7発明の状態情報(特徴量)は、それに含まれる位置偏差情報を、位置指令値と位置フィードバックされた検出位置との差として求めるものであって、計算により切り取られ抽出されたものではない点。
上記相違点について検討する。
甲7発明では、状態情報(特徴量)は、それに含まれる位置偏差情報を、位置指令値と位置フィードバックされた検出位置との差として求めるもの(甲7の【0036】)であるから、減算という計算の処理を含むものといえるが、状態情報(特徴量)を計算により切り取り抽出することについては、甲7の全体を見渡しても記載も示唆もない。
また、甲7発明において、状態情報(特徴量)を計算により切り取り抽出を行うことが自明のことともいえない。
そうすると、上記相違点は実質的な相違点であるから、本件発明1と甲7発明とは同一の発明ではなく、本件発明1に係る特許が、特許法第29条の2の規定に違反してなされたものとはいえない。
(4)本件発明2~10について
上記(3)のとおり、本件発明1に係る特許が、特許法第29条の2の規定に違反してなされたものということはできないものであるところ、本件発明2~10は、本件発明1の発明特定事項の全てを含むものであるから、上記本件発明1と甲7発明との相違点と同じ相違点を有するものである。
よって、本件発明2~10に係る特許が、特許法第29条の2の規定に違反してなされたものとはいえない。
(5)本件発明11について
本件発明11は、機械学習方法の発明であるところ、甲7には甲7発明に対応する方法の発明も開示されているといえるが、本件発明11と当該甲7発明に対応する方法の発明を対比すると、上記本件発明1と甲7発明との相違点と同様の相違点を有するものと認められる。
そして、当該相違点が実質的な相違点であることは、上記(3)に示したとおりである。
よって、本件発明11に係る特許が、特許法第29条の2の規定に違反してなされたものとはいえない。
(6)小括
以上のとおり、本件発明1~11に係る特許は、当審が令和4年3月9日付け取消理由通知(決定の予告)で通知した取消理由である特許法第29条の2(拡大先願)の規定に違反してなされたものとはいえない。
第5 その他の特許異議申立理由について
1 特許異議申立理由の概要
本件特許異議の申立てにおいて、特許異議申立人が主張した特許異議申立理由であり、令和4年3月9日付け取消理由通知(決定の予告)に採用しなかった理由の要旨は、次のとおりである。
(1)進歩性欠如
本件発明1~11は、本件特許出願前に頒布された刊行物である甲第1号証に記載された発明及び周知技術1(甲第2号証)、周知技術2(甲第3号証~甲第5号証)、周知技術3(甲第6号証)に基づいて、当業者が容易に発明することができたものであるから、本件発明1~11に係る特許は、特許法第29条第2項の規定に違反してされたものである。
・証拠
甲第1号証:野田他、機械学習の枠組みに基づく能動型探索アルゴリズムのサーボパラメータ調整問題への適用性の検討、計測自動制御学会論文集、平成29(2017)年3月、第53巻、第3号、p.217~228
甲第2号証:三菱電機株式会社、MITSUBISI CNC MDS-D2/DH2シリーズ取扱説明書、2014年6月発行、p.5-1~5-70(5章 サーボ調整)
甲第3号証:特開2017-102624号公報
甲第4号証:特開2017-68563号公報
甲第5号証:特開2009-244933号公報
甲第6号証:特開2005-78477号公報
(2)記載要件違反
本件発明1~11は明確でないから、本件発明1~11に係る特許は、特許法第36条第6項第2号の規定に違反してされたものである。
また、本件明細書の発明の詳細な説明の記載は、当業者がその実施をすることができる程度に明確かつ十分に記載したものでないから、本件発明1、2、4、6~11に係る特許は、特許法第36条第4項第1号に違反してされたものである。
2 特許異議申立理由の判断
(1) 進歩性欠如
ア 甲第1号証の記載事項等
甲第1号証(以下「甲1」という。)には、以下の事項が記載されている(下線は当審で付与した。)。
(ア)「1.はじめに
産業現場で用いられる制御システムには調整すべきパラメータが存在する。制御パラメータの調整コストを下げるためさまざまなオートチューニング手法が実用化されてきたが、モデル化が困難な制御対象に対して制御性能が厳しく要求される場合には、いわゆる熟練作業者が制御対象の応答を見ながら現物あわせで調整しているのが現状である。
このような調整作業はやってみるまで結果がわからない。作業者の熟練度などにより作業の結果と時間にムラが発生し、迅速かつ低コストなシステムインテグレーションを阻害する典型的な難題の1つと捉えられている。その困難さの本質は、未知の目的関数の最適化問題として定式化できるのである。
著者らは機械学習とりわけ能動学習のスキームに基づいて、未知の目的関数を最適化する独自の能動型探索アルゴリズムの開発を進めている。同アルゴリズムの提案、パーソナルコンピュータ程度のハードウェア上でソフトウェアとして実装可能であること、ある金属加工機の加工制御パラメータ開発期間を短縮する効果があることを既報した。問題の困難さの本質の解法であるからには同種の困難さを持つ問題への水平展開が可能と考えらえる。よって今後、さまざまな現場の要求を含めた事例への適用性を調べることが課題となる。
たとえば、産業メカトロニクス分野で用いられる位置決めサーボシステムのゲイン調整、すなわち制御パラメータの調整に関して、まさに冒頭で述べた課題が発生している。そこで本稿では本アルゴリズムがこの問題にも適用可能かを検討、同時に多目的最適化、誤差因子に対するロバスト化、計算時間の短縮化といった現場の要求を考慮しうるかを報告する。
第2章で能動型探索アルゴリズムを説明し、第3章でサーボパラメータのオートチューニング問題の背景について述べ、第4章で同アルゴリズムの適用性を検討する。」(217頁左欄1行~右欄14行)
(イ)「3.サーボパラメータの自動調整について
サーボパラメータの自動調整は古くから取り組まれてきた課題であり、1980年代後半から定点観測的に動向調査が報告されている。それらの基本原理はさまざまであり、たとえば制御対象のモデルを同定して解析的にパラメータを決定する方法から、特定の特徴量に注目したもの、ヒューリスティックによるものまで、数多くの手法がある。市場に投入される商用の制御システム製品や制御システム設計のソフトウェアツール類についても自動調整機能は必須といえる状況であり、整定時間の短さが厳しく要求されるのに制御対象のメカの剛性が低くて移動速度で稼げないなどの特殊な場面でない限り、自動調整機能は便利に利用されている。
その一方で、前述の特殊な場面に遭遇した場合には、人手による調整が実施されており、その自動化が求められている。そこでは、現場ニーズを満たすため、制御対象にダメージを与える発振現象を避けながらの安全な調整、より高ゲインの追求、自動調整に要する時間の短縮、自動調整の適用可能範囲の拡大、などを目標として、企業間の競争領域として研究開発、製品化開発が続けられている。能動型探索アルゴリズムをサーボパラメータの自動調整問題に適用することは、上に述べたような人手で調整しないといけない特殊な場面を想定していることになる。
本研究ではそのような場面を、パラメータの変化に対する制御性能の変化を制約条件付きの目的関数をノンパラメットリックモデルで逐次構築しながら同時にパラメータの最適値を探索するという、未知の目的関数の最適化問題として捉えることにした。
なお、解法が確立した場面から外れているからこそ特殊となる場面であるから、その類例と適切な解法との対比はにわかには困難である。適用事例を積み重ねながらまずは傾向を分析していくことが必要で、その過程の中で提案するアルゴリズムが適用可能あるいは適用不適切な場面や条件を明確化していくことが重要であると考えている。もちろん同アルゴリズムがすべての場面でサーボパラメータの自動調整に適していないという結論が導かれることは厭わない。」(220頁左欄32行~右欄18行)
(ウ)「4.調整に対する要求仕様を満たす実装の検討
前章で述べた能動型探索アルゴリズムが、位置決めサーボシステムの制御パラメータ調整に効を奏するかを確認するにあたり、市場で使用されている位置決めシステムの主要構成のみに抽象化した実験を行なうことにした。すなわち位置決めシステムの最小構成要素であるサーボコントローラ、モータ、ボールねじ、軸受け、リニアガイドほかの機構を組み合わせた実験装置を構築し、制御パラメータを与え、位置決め動作を実行し、動作状態を計測する系を組んだ。定性的な話になるが、実験装置のメカニカル要素の各部材は高剛性素材を使用せず、組み立て作業、据え付け作業についても微調整などに格別の注意を払わずにおいたため、ガタや動きの渋さが部分によって異なるなど、いくばくかの非線形性をはらんでいると考える。このような系に対し、制御パラメータと位置決めストロークを設定し、それらの全組み合わせで位置決め動作させ、パラメータ空間内の全探索データを取得した。なお同じ制御パラメータに対する動作の再現性は今回の実験では問題なく担保されている。」(220頁右欄19行~36行)
(エ)「まず、今回の実験装置の概略構成をFig. 3に示す。これは制御パラメータの調整について、同一コントローラ、同一メカのまま、熟練作業者が行なっている作業を能動型探索アルゴリズムに切り替えて実験する構成である。
つぎに位置決めサーボの制御ブロック線図をFig.4に示す。こちらはいわゆる2自由度制御系である。フィードフォワード部について、位置のP制御、速度のP制御、および機械モデル1/J・sで構成し、フィードバック部について、位置のP制御、速度のPI制御で構成してある。
フィードフォワード部について、位置応答ゲインをωpc1、速度ゲインをωsc1とし、ωsc1についてはωsc1=4・J・ωpc1としωpc1に従属して自動的に定まることとした。
またフィードバック部について、位置応答ゲインをωpc2、速度ゲインをωsc2、速度積分時間をTiとする。
上述の実験装置において、適当な制御パラメータを設定し、適当な移動ストロークを経て位置決めする動作を実行するとFig.5のような波形データが観測され、与えた制御パラメータおよび移動ストロークの組み合わせに対する評価指標値を計測することができる。評価指標としては『許容整定範囲割れ』『整定時間』『オーバーシュート量』があり、これら評価指標は未知の制約条件付きの未知の目的関数を描く。評価値のそれぞれを説明する。
・許容整定範囲割れ:0または1いずれかの数値。
指令位置に対する偏差が別途与えられる許容範囲内に収まっていない状態のこと。以下の基準に照らすとFig. 5の観測波形は「許容整定範囲割れ」1と判定される。
0:位置決め指令入力以降、位置偏差が最初に許容範囲内に入ってから、次回指令入力まで許容範囲外になることがない場合(良い)。
1:位置決め指令入力以降、位置偏差が最初に許容範囲内に入ってから、次回指令入力まで許容範囲外になることがある場合(悪い)。
・整定時間[msec]:位置決め指令入力以降、位置偏差が最後に許容範囲内に入るまでの時間(小さいほど良い)。
・オーバーシュート量[pulse]:指令入力以降、最初に許容範囲内に入ってからの位置偏差の行き過ぎ最大値(小さいほど良い)。
『許容整定範囲割れ』『オーバーシュート量』についてはモータ軸に取り付けられた1回転あたり13万パルス(217=131,072pulse)の分解能をもつエンコーダで計測する。今回の実験装置では、ボールねじのリードは10mmであり、その1回転でナット側は10mm移動するので、エンコーダの1pulseはナット側が0.07629μm移動することに相当する。このとき、許容される整定幅を50pulseと与えれば、目標位置に対し3.815μm以内のズレ量で整定したとき『許容整定範囲割れ』は発生していないことになる。またオーバーシュート量を50pulseと計測すれば、実際には4μmほどオーバーシュートしていたことになる。ただし、これらの数値はモータ軸に取り付けたエンコーダの回転角度を計測しているので、モータ軸からボールねじ、ボールねじと嵌合しているナット、ナットから先の部材といった伝逹機構を経た機械端がこれらの値どおりに動くものではないが今回は問題とはならないレベルである。機械端の動きをリニアエンコーダなどで計測しフィードバックループを組んで機械端の位置決め精度を高めることはもちろん可能であるが、ここでの議論とは直交する話題である。
以下、本論文では、上述の位置決め実験装置に対して、操作可能な制御パラメータのうち、フィードバック系の応答と安定にかかるゲインωpc2とωsc2は事前に参考文献30)に示した方法で適正に調整されているという前提で、『オーバーシュート量』と『整定時間』の特性を決めるゲインωpc1とTiを、提案アルゴリズムにより探索的に自動調整し、指定された目標仕様を満たす最適化について考察することにする。」(220頁右欄37行~222頁左欄15行)
(オ)「4.1 調整に対する要求仕様について
現場の制御パラメータ調整では上述の評価値に対する位置決め目標仕様が指定 される。これを位置決め前の移動ストローク、位置決め場所(5章にて後述)などの誤差因子に対してロバスト化する必要がある。」(222頁左欄16行~20行)
(カ)「4.2 今回の実験方法について
本稿では前述のとおり、位置決め実験装置を用いて制御パラメータの定義域内と位置決めストローク組み合わせ空間の全探索を実施しデータを取得した。」(222頁左欄33行~36行)
(キ)「4.3 多目的最適化の実装について
能動型探索アルゴリズムを今回の問題における多目的最適化に適用するための実装の考え方について述べる。具体的には、最適化目標が「許容整定範囲割れ」、「整定時間」、「オーバーシュート量」の3つあり、動作ストロークも4種類あるため、アルゴリズムを計算するなかで、これらの事項をどのように取り扱うかである。
制御パラメータは自分で操作できる制御因子であるが、移動ストローク1mm、5mm、20mm、50mmは受け入れるしかない(自分で操作できない)誤差因子と考えることにする。移動ストロークは4つあるので、各制御パラメータ組み合わせごとに4つの実測値が得られるが、それらの最悪値を採用することで移動ストロークの変動に対してロバストな評価値とする。
一方、各評価値に対する実行不能判定は、優先順位をもって実施する。具体的には「許容整定範囲割れ」>「整定時間」>「オーバーシュート量」とする。そして最も厳しく判定したい「許容整定範囲割れ」の0,1を用いて、未知の制約条件の識別境界の推定モデルf(Sn,x)=0を更新し、最良の試行結果を選ぶ際の優劣の判定に上述の優先順位を用いる。たとえば『整定時間』が改良されれば『オーバーシュート量』が悪くなっていても良い解が見つかったと判断することになる。」(222頁右欄5行~26行)
(ク)「4.4 適用結果
まず、前節の手順に従い、実測値から求めた2つのデータセットをFig.6に示す。これが全探索のデータとなる。」(222頁右欄42~44行)
(ケ)「7.おわりに
産業メカトロニクス分野で用いられる位置決めサーボシステムの制御パラメータ調整、すなわち制御パラメータの調整において発生している未知の目的関数の最適化問題に対して、著者らの開発した機械学習の枠組みに基づく能動型探索アルゴリズムの適用可能性を検討した。」(226頁右欄20~25行)
上記記載事項(ア)~(ケ)から、以下の事項が理解できる。
(コ)上記(ア)、(エ)、(キ)から、甲1には、位置決めサーボシステムの許容整定範囲割れ、整定時間、オーバーシュート量の評価指標について、多目的最適化をすることが開示されていると理解できる。
(サ)上記(ア)、(ウ)~(ケ)から、甲1には、制御パラメータ(サーボパラメータ)を機械学習、特に能動型探索アルゴリズムにより自動調整する装置が開示されているといえる。
イ 甲1発明
上記アから、甲1には以下の発明(以下「甲1発明」という。)が開示されていると認められる。
位置決めサーボシステムの許容整定範囲割れ、整定時間、オーバーシュート量の評価指標について、多目的最適化をするため、操作可能な制御パラメータのうち、オーバーシュート量と整定時間の特性を決める位置応答ゲインωpc1と速度積分時間Tiを、機械学習、特に能動型探索アルゴリズムにより探索的に自動調整するものであって、「許容整定範囲割れ」>「整定時間」>「オーバーシュート量」の優先順位で最良の試行結果を選ぶ、制御パラメータ(サーボパラメータ)を機械学習により自動調整する装置。
ウ 本件発明1について
本件発明1と甲1発明とを対比すると、甲1発明の「位置決めサーボシステム」は、本件発明1の「モータ駆動装置」に相当し、同様に「制御パラメータ(サーボパラメータ)を機械学習により自動調整する装置」は、「機械学習装置」に相当する。
また、甲1発明の「位置決めサーボシステムの・・・操作可能な制御パラメータ」は、本件発明1の「モータ駆動装置においてモータを制御するための指令値」と、「モータ駆動装置においてモータを制御するための制御パラメータ」である点で一致し、甲1発明の「制御パラメータのうち、オーバーシュート量と整定時間の特性を決める位置応答ゲインωpc1と速度積分時間Ti」は、本件発明1の「指令値の補正に用いられる補正パラメータ」と、「制御パラメータの補正に用いられる補正パラメータ」という点で一致する。そうすると、甲1発明の「オーバーシュート量と整定時間の特性を決める位置応答ゲインωpc1と速度積分時間Tiを、機械学習、特に能動型探索アルゴリズムにより探索的に自動調整するもの」は、本件発明1の「補正パラメータを学習する機械学習装置」に相当する。
そして、甲1発明において「「許容整定範囲割れ」>「整定時間」>「オーバーシュート量」の優先順位で最良の試行結果を選ぶ」ことは、能動型探索アルゴリズムにより、探索的な自動調整によってなされるものであるから、本件発明1において「前記補正パラメータを前記補正機能毎に学習する」ことと、「前記補正パラメータを学習する」点で一致する。
そうすると、本件発明1と甲1発明とは以下の一致点、相違点を有する。
一致点:モータ駆動装置においてモータを制御するための制御パラメータの補正に用いられる補正パラメータを学習する機械学習装置であって、前記補正パラメータを学習する機械学習装置。
相違点:本件発明1は、「複数の種類の補正機能を有するモータ駆動装置においてモータを制御するための指令値の補正に用いられる補正パラメータを学習する機械学習装置であって、前記補正機能の種類に基づいて、前記モータ駆動装置の駆動データから計算により切り取られ抽出された特徴量と、前記補正パラメータとを状態変数として観測する状態観測部と、前記状態変数に基づいて前記補正機能毎に作成される訓練データセットに従って、前記訓練データセットに含まれる前記状態変数を用いて前記補正パラメータを前記補正機能毎に学習する学習部と、を備える」もの、すなわち、モータ駆動装置が複数の種類の補正機能を有するものであり、特徴量は、補正機能の種類に基づいて、前記モータ駆動装置の駆動データから計算により切り取られ抽出されるものであり、学習部は、補正機能毎に作成される訓練データセットに従って、訓練データセットに含まれる状態変数を用いて補正パラメータを補正機能毎に学習するものであるのに対し、甲1発明は、許容整定範囲割れ、整定時間、オーバーシュート量の評価指標について多目的最適化するものの、複数の種類の補正機能を有するものではなく、したがって、特徴量の抽出及び学習部についても補正機能毎になされるものではない点。
上記相違点について検討すると、甲1には補正機能毎に機械学習を行うことについては開示もないし示唆もない。
すなわち、本件発明1は、補正機能毎に補正パラメータの学習が行われるから、補正機能の間には優先順位などはなく、補正機能の数に応じた分だけ、最適な補正パラメータが選定されるように学習する。
これに対して、甲1における多目的最適化は、「許容整定範囲割れ」>「整定時間」>「オーバーシュート量」という優先順位を前提に、最良の試行結果、すなわち「位置応答ゲインωpc1」と「速度積分時間Ti」の値を1つに選定することであるから、その結果として、「整定時間」が改良されれば、「オーバーシュート量」が悪くなっていても良い解が見つかったと判断されることになる(上記ア(キ))が、このような判断は、補正機能毎に最適な補正パラメータを選定しようとする本件発明1の技術的思想とは異なるものであって、甲1には補正機能毎に機械学習を行うことについては開示も示唆もないというほかない。
また、甲第2号証~甲第6号証を見ても、甲1発明のような機械学習装置について、補正機能毎に機械学習を行うこと、そのために、特徴量をモータ駆動装置の駆動データから計算により切り取られ抽出されたものとすること、このような特徴量と補正パラメータとを状態変数として観測する状態観測部や、状態変数に基づいて補正機能毎に作成される訓練データセットに従って、訓練データセットに含まれる状態変数を用いて補正パラメータを補正機能毎に学習する学習部を備えることを開示するものはない。
そうすると、当業者であっても、甲1発明に、相違点に係る本件発明1の構成を採用することは容易に想到し得たものではない。
エ 本件発明2~11について
上記ウのとおり、本件発明1が、甲1発明及び甲第2号証~甲第6号証に記載の技術的事項から容易に想到し得たものではないところ、本件発明2~10は、本件発明1の発明特定事項の全てを含むものであるから、上記本件発明1と甲1発明との相違点と同じ相違点を有するものであり、甲1発明及び甲第2号証~甲第6号証に記載の技術的事項から容易に想到し得たものではない。
また、本件発明11は、機械学習方法の発明であるところ、甲1には甲1発明に対応する方法の発明も開示されているといえるが、本件発明11と、当該甲1発明に対応する方法の発明を対比すると、上記本件発明1と甲1発明との相違点と同様の相違点を有するものと認められ、本件発明11は甲1発明に対応する方法の発明及び甲第2号証~甲第6号証に記載の技術的事項から容易に想到し得たものではない。
オ 小括
以上のとおり、本件発明1~11に係る特許は、特許法第29条第2項の規定に違反してなされたものとはいえない。
(2)記載要件違反
ア 具体的な特許異議申立理由
本件訂正前の特許請求の範囲及び明細書の発明の詳細な説明の記載に対する記載要件違反について、特許異議申立の具体的理由は以下のとおりである。
(ア)請求項1、2について
a 請求項1の「補正機能の種類に基づいて計算された特徴量」について、複数の補正機能の種類毎の「特徴量」が、それぞれ如何なる量であるのか不明確であるとともに、「特徴量」を計算するための入力データが何かが不明確であり、「モータ駆動装置の駆動データ」との関係の有無も不明確である。上記請求項1を引用する訂正前の請求項2についても同様である(以下のb~cについても同じ。)。
b 同じく「状態変数に基づいて作成される訓練データセットに従って、前記補正パラメータを前記補正機能毎に学習する学習部」について、「訓練データセット」がどのようなデータを含むデータセットを意味するものか不明確である。また、「補正機能毎に学習する」ことを可能にする「訓練データセット」とはどのようなものか不明確である。
c 上記bの「学習部」について、「訓練データセットに従って」どのようにして、「補正パラメータを補正機能毎に学習する」ものか、その学習内容が不明確である。
d 本件明細書は、「訓練データセット」について、段落【0020】の記載があるのみであるから、その作成を当業者が実施できる程度に明確かつ十分な記載となっていない。同じく、「学習部」について、段落【0020】の記載があるのみで、「訓練データセットに従って」どのようにして、「補正パラメータを補正機能毎に学習する」のか記載がないから、当業者が実施できる程度に明確かつ十分な記載となっていない。また、「学習部」については、段落【0058】に、ニューラルネットワーク等を用いても良い旨の記載があるところ、このような方法による場合には、どのように学習すれば良いのか、当業者が実施できる程度に明確かつ十分な記載となっていない。
(イ)請求項3について
上記(ア)a~cと同じ点で不明確である。
(ウ)請求項4について
a 請求項4の「状態変数に基づいて報酬を計算する報酬計算部」、「前記報酬に基づいて、前記補正パラメータを決定するための関数を更新する関数更新部」が、上記請求項4が引用する上記請求項1の「状態変数に基づいて作成される訓練データセットに従って、前記補正パラメータを前記補正機能毎に学習する」こととどのような関係にあるのか不明確である。
b 本件明細書には、「前記報酬に基づいて、前記補正パラメータを決定するための関数を更新する関数更新部」について、段落【0053】の記載があるのみであり、報酬は閾値との関係で定まるに過ぎず、補正パラメータ間の優劣を決めるものではないところ、補正パラメータをどのように決定するかが不明であるから、当業者が実施できる程度に明確かつ十分な記載となっていない。
(エ)請求項5について
a 訂正前の請求項5には、「関数更新部は、前記補正機能毎に前記関数を更新する」ことが記載されているが、これを考慮しても、上記請求項5が間接的に引用する上記請求項1の「状態変数に基づいて作成される訓練データセットに従って、前記補正パラメータを前記補正機能毎に学習する」こととどのような関係にあるのか不明確である。
(オ)請求項6~10について
a 請求項6は、上記請求項1ないし5を選択的に引用し、訂正前の請求項7-10は上記請求項6を引用するものであるところ、上記(ア)a~c、(ウ)a、(エ)と同じ点で不明確である。請求項6を引用する請求項7~10についても同様に不明確である。
b 請求項6は、「前記複数の種類の補正機能のうちの1つを選択する補正機能選択部」により選択された補正機能についての補正パラメータを決定するものであるところ、本願明細書の段落【0005】、【0006】の解決しようとする課題(従来技術では、単一の補正機能の補正パラメータしか調整することができなかったこと)及び目的(複数の補正パラメータに対応できるようにすること)の記載に鑑みて、発明が解決しようとする課題を解決できないものであるから、本件明細書は、当業者が実施できる程度に明確かつ十分な記載となっていない。請求項6を引用する請求項7~10についても同様である。
(カ)請求項9について
a 請求項9には、「補正パラメータ計算部」が、「学習結果に基づいて補正パラメータを計算」することが記載されているが、その計算内容が不明確である。
b 本件明細書は、「補正パラメータ計算部」について、段落【0022】の記載があるのみであるから、その計算を当業者が実施できる程度に明確かつ十分な記載となっていない。
(キ)請求項11について
請求項11は、上記請求項1が機械学習装置についての発明であるのに対し、機械学習方法の発明である点でカテゴリーが相違する他は、上記請求項1と同様の特定がされているものであるところ、上記(ア)a~cの上記請求項1、2についての理由と同様に、上記請求項11の記載は不明確である。
イ 記載要件の判断
(ア)請求項1、2について
a 請求項1の「補正機能の種類に基づいて計算された特徴量」について、本件訂正により、「前記補正機能の種類に基づいて、前記モータ駆動装置の駆動データから計算により切り取られ抽出された特徴量」となった結果、「特徴量」が、モータ駆動装置の駆動データから計算により切り取られ抽出されたものであることが明確となった。
また、本件明細書の段落【0017】、【0018】には、「特徴量抽出部14は、アルゴリズム選択部61と、アルゴリズム記憶部62と、特徴量計算部63とを有する。・・・特徴量計算部63は、アルゴリズム選択部61から入力される計算アルゴリズム選択指令に基づいて、使用する計算アルゴリズムをアルゴリズム記憶部62から取出して、取出した計算アルゴリズムを用いて、学習用駆動データDeから補正機能ごとに特徴量を計算する。・・・
摩擦補正機能については、アルゴリズム選択部61は、運動方向反転位置検出、運動方向反転時近傍のデータ切り取りを選択する。学習用駆動データDeに、位置指令、位置フィードバック、モータ電流、理想的な位置に対する実際の位置のデータが含まれている場合、特徴量計算部63は、それぞれのデータに関して、選択された計算アルゴリズムを適用して特徴量を算出する。」との記載があるところ、「特徴量」が、補正機能に応じて、学習用駆動データDeに含まれる位置指令、位置フィードバック等のデータから計算アルゴリズムを適用して計算(例えば、摩擦補正機能であれば、運動方向反転時の近傍のデータを切り取るような計算)される量であることは、当該記載からも明らかである。
b 請求項1の「訓練データセット」に関し、本件訂正により、「前記状態変数に基づいて前記補正機能毎に作成される訓練データセットに従って、前記訓練データセットに含まれる前記状態変数を用いて前記補正パラメータを前記補正機能毎に学習する学習部と、」との特定事項を有するものとなった結果、「訓練データセット」が状態変数(特徴量及び補正パラメータ)を含むものであること、状態変数に基づいて前記補正機能毎に作成されるものであることが明確となった。
c 請求項1の「学習部」について、上記bのとおりの発明特定事項を備えるものとなった結果、その学習内容が明確となった。
よって、上記ア(ア)a~cについて、本件発明1、2は明確である。
d 本件訂正により、本件発明1の訓練データが補正機能毎に作成されるものであることが明確になり、学習部についても、上記cのとおり明確となった。
また、実施可能要件について、本件明細書の段落【0020】には、「状態観測部101は、補正パラメータ情報および特徴量を用いて、補正パラメータと、補正機能に基づいて抽出された特徴量とを状態変数として観測する。状態観測部101は、状態変数に基づいて、補正機能毎に訓練データセットを作成して出力する。学習部102は、状態観測部101が状態変数に基づいて作成した訓練データセットを用いて、特徴量毎に、つまり、補正機能毎に補正パラメータの学習を行い、学習結果Frを出力する。学習部102が用いる学習アルゴリズムは、ニューラルネットワークのような教師あり学習、教師なし学習、強化学習などである。」と記載されており、本件発明1の発明特定事項とも整合するところ、上記発明の詳細な説明の記載及び機械学習についての技術常識を踏まえれば、当業者が過度の試行錯誤を要することなく本件発明1を実施し得る程度ものといえる。
よって、上記ア(ア)dについて、本件明細書の発明の詳細な説明の記載は、実施可能要件を充足する。
(イ)請求項3について
上記(ア)のとおりである。
また、請求項3は、特徴量について特定をするものであって、請求項1を引用するものであるところ、特徴量が「補正機能毎の前記駆動データの特性を示すデータ」であることに関し、請求項1には、「前記モータ駆動装置の駆動データから計算により切り取られ抽出された特徴量」との発明特定事項があるから、駆動データの特性を示すデータが駆動データから計算により切り取られ抽出されるものであることが理解できるし、本件明細書の段落【0016】~【0018】の特徴量の抽出に関する記載からも理解できる。
よって、上記ア(イ)について、本件発明3は明確である。
(ウ)請求項4について
a 請求項4の「状態変数に基づいて報酬を計算する報酬計算部」、「前記報酬に基づいて、前記補正パラメータを決定するための関数を更新する関数更新部」について、本件訂正により、請求項4が引用する請求項1が「前記状態変数に基づいて前記補正機能毎に作成される訓練データセットに従って、前記訓練データセットに含まれる前記状態変数を用いて前記補正パラメータを前記補正機能毎に学習する」と特定するものとなったことから、訓練データセットに状態変数が含まれることが明確となり、「報酬計算部」が訓練データセットに含まれる状態変数に基づいて報酬を計算するものであること、「関数更新部」が当該報酬に基づいて関数を更新するものであることが明確となった。
よって、上記ア(ウ)aについて、本件発明4は明確である。
b 請求項4は本件発明1を引用する請求項であるところ、本件訂正により、本件発明1の訓練データセットに状態変数が含まれることが明確となった結果、本件発明4における「前記状態変数に基づいて報酬を計算する報酬計算部」と、「前記報酬に基づいて、前記補正パラメータを決定するための関数を更新する関数更新部」が、訓練データセットに含まれる状態変数に基づいて報酬を計算し、当該計算された報酬に基づいて補正パラメータを決定するための関数を更新する処理を行うことが明確となった。
これを踏まえ、本件明細書の段落【0053】の「報酬計算部102aは、状態観測部101により観測された状態変数に基づいて報酬を計算する。報酬計算部102aは、補正機能ごとに、報酬を計算する。」、段落【0054】の「関数更新部102bは、報酬計算部102aによって計算される報酬に従って、補正パラメータを決定するための関数を更新する。」との記載及び機械学習についての技術常識を踏まえれば、当業者が過度の試行錯誤を要することなく本件発明4を実施し得る程度のものといえる。
よって、上記ア(ウ)bについて、本件明細書の発明の詳細な説明の記載は、実施可能要件を充足する。
(エ)請求項5について
a 上記(ウ)aのとおり、関数更新部と請求項1の特定事項との関係が明確になったことから、請求項5の「関数更新部は、前記補正機能毎に前記関数を更新する」ことと請求項1の発明特定事項との関係についても明確となった。
よって、上記ア(エ)aについて、本件発明5は明確である。
(オ)請求項6~10について
a 上記(ア)~(エ)のとおりであるから、上記ア(オ)aについて、本件発明6~10は明確である。
b 請求項6は、本件発明1を引用する請求項であるところ、本件発明1は、「複数の種類の補正機能を有するモータ駆動装置においてモータを制御するための指令値の補正に用いられる補正パラメータを学習する機械学習装置」との発明特定事項を有するから、本件発明6は、複数の種類の補正機能を有することを前提とするものである。
一方、本件明細書の段落【0005】、【0006】には、「しかしながら、上記特許文献1に記載の技術では、単一の補正機能の補正パラメータしか調整するアルゴリズムしかないため、単一の補正機能の補正パラメータしか調整することができない。・・・本発明は、上記に鑑みてなされたものであって、複数の種類の補正機能を有するモータ駆動装置であっても、モータ駆動装置の指令値の補正条件を決定するための補正パラメータを容易に調整することが可能な機械学習装置および補正パラメータ調整装置を得ることを目的とする。」と記載されるとおり、従来は単一の補正機能のみを有するものであったところ、本件発明は、複数の種類の補正機能を有するモータ駆動装置に対応できるようにしたものである。
そうすると、上記ア(オ)bについて、本件発明6及び本件発明6を引用する本件発明7~10は、発明が解決しようとする課題を解決できないものではないし、本件明細書の発明の詳細な説明の記載は、実施可能要件を充足する。
(カ)請求項9について
a 請求項9には、「補正パラメータ計算部」が、「学習結果に基づいて補正パラメータを計算」することを特定しており、その記載自体は明確であるから、上記ア(カ)aについて、本件発明9は明確である。
b 本件明細書の段落【0022】の「補正パラメータ計算部51は、機械学習装置100から入力される学習結果Frと、補正パラメータ情報とに基づいて、補正機能毎に、学習結果Frに基づいて補正パラメータを算出する。・・・終了判定部53は、補正パラメータ評価部52の評価結果と、調整要件入力部11から入力される調整要件とに基づいて、調整処理を終了するか否かを判断すると共に、補正パラメータ計算部51が計算した補正パラメータをモータ駆動装置99に設定する。」との記載、【0047】~【0048】の「機械学習装置100は、発生する誤差を抑制することが可能な補正パラメータを学習する・・・エージェントは、行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。」との記載から、「補正パラメータ計算部」が、「学習結果に基づいて補正パラメータを計算」することは、例えば、学習結果Frから、報酬が最も多く得られるような補正パラメータを計算することでなされることが理解できる。
よって、上記ア(カ)bについて、本件明細書の発明の詳細な説明の記載は、実施可能要件を充足する。
(キ)請求項11について
上記(ア)a~cの請求項1、2についてと同様に、上記ア(キ)について、本件発明11は明確である。
ウ 小括
以上のとおり、本件特許請求の範囲及び本件明細書の発明の詳細な説明の記載は、特許法第36条第4項第1号、同条第6項第2号の規定に違反していないから、本件発明1~11に係る特許は、当該規定に違反してなされたものとはいえない。
第7 まとめ
以上のとおり、本件発明1~11に係る特許は、令和4年3月9日付け取消理由通知(決定予告)に記載した取消理由、特許異議申立書に記載された特許異議申立理由によっては、取り消すことはできない。さらに、他に本件発明1~11に係る特許を取り消すべき理由を発見しない。
よって、結論のとおり決定する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
J-PlatPat 審決検索を開く
2020-700120