自己紹介
関西圏の高専の専攻科から株式会社FIXERに新卒で入社させていたきました。陣川健斗です。
高専本科2年まで機械工学、3年から5年まで制御工学が専門で、専攻科では情報系の研究室に行っており、変なところに偏った知識があります。
趣味は
- コーヒーを自分で淹れること(ドリップ、エスプレッソ)
- ダーツ(カウントアップが上振れで499点でした)
- 自作キーボード(2機組みました。そろそろ分割型の3号機を考えてます)
- 3Dモデリング/CG(メカとかのハードサーフェスが得意。テクスチャもやります)
です。興味ある社員さんがいればぜひお声をかけていただけると嬉しいです。
そろそろ本題に入りまして、卒業研究ではファジィ推論とはんだ付けをテーマに研究を行っていました。生成AIがメインストリームの会社なのもあり、広義では人工知能と言えなくもないファジィ推論について、ファジィ推論って何なの?何に使えるの?という話をさせていただきます。
どういう研究だったの?
この節では私がどういう研究をやっていたのか。をつらつらと書いていきます。
まずまず「手作業によるはんだ付け」という技術自体、ある程度の慣れが必要なものです。大企業のクソデカ生産ラインでは「はんだ付けを行うロボット」が稼働し始めていますが、中小企業などの少数生産部品の生産ラインにおいてはまだ手作業によるはんだ付けが必要とされています。
しかし...
近年の人材不足であったり少子高齢化によって「産業レベルのはんだ付け技術者」というものは年々減っており、初学者に教えられる人材がいなくなり、最悪技術喪失...なんてことも考えられます。
そこで「学校でも簡単に準備できる機材ではんだ付け技術の指導ができたら良くね?」という目的のもと研究を行っていました。
具体的にはこんな感じのシステムを作っていました。
- Webカメラではんだ付け作業を撮影
- 手元の映像からMediaPipeを介して手の姿勢データを取得
- ファジィ推論によって評価
推論モデルについても自作で、MediaPipeの姿勢データなどから「はんだ付け品質」に影響のある手の関節角度と作業時間を統計的手法で明らかにし、この特徴から推論モデルを構築しました。
内容については文章では書ききれない部分があるので、もし内容について興味を持ってくださった方はこちらをご覧ください!↓
- https://www.jstage.jst.go.jp/article/fss/39/0/39_349/_pdf/-char/ja
- https://ieeexplore.ieee.org/document/10760093/
ファジィ推論っていう技術
ファジィ推論って何ぞや
ファジィっていうと大分昔にファジィエアコン...といったような家電の制御に使われていた時代があり、聞いたことはある!という方もいると思います。アレと原理は同じです。
ファジィ推論は、曖昧な表現を数学的に扱うことで、人間の感覚に近い形で物事を判断しようとする仕組みです。たとえば「温度が高い」「少し速い」といったあいまいな言葉にも“どのくらい高いか”を表現する「メンバーシップ関数」というものを用意し、数値化して処理します。
さらに、ファジィ推論では「温度が『やや高め』で、湿度が『低い』ときはエアコンを『弱め』にする」といったように、曖昧さを含んだ条件と行動を結びつける“ファジィルール”を使います。複数のファジィルールを組み合わせて、二値論理(0/1)のようにはっきりとした境界がなく、人間が「まあまあ」「そこそこ」といった感覚で判断するように柔軟な出力を得られるのが特徴です。
どちらかというと「エキスパートシステム」に近いものかもしれません。
なんでファジィ推論なのか
なんで機械学習とか使わないの?という疑問の声が聞こえてきますね。
ズバリ
「専門技能の指導に機械学習は不向きだから」です。医療系にも言えることですが、機械学習による評価は中身がブラックボックスであり、人間が説明できるものではありません。したがって、「なんかよく分かんないけどAIくんが良いっていうから良いらしいです」だとマズいわけです。
一方ファジィ推論も使えば、自然言語でロジックを記述することができます。先ほどのエアコンの暖房を例に挙げると
前件部 | 後件部 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
If | 温度 | is | やや高い | and | 湿度 | is | 低い | then | エアコン | is | 弱める |
If | 温度 | is | 低い | and | 湿度 | is | 高い | then | エアコン | is | 強める |
という形で書けます。わかりやすいですね。(実際はメンバーシップ関数の定義やファジィ集合の定義などもあります)
ただ評価にいたるまでの特徴量が明らかになっている、もしくは統計的に明らかになる事象にしか適応できないのが問題です。医療系は特徴量が複雑なので手動でやるのは難しそうですね。
もし興味があればファジィ推論自体はPythonのscikit-fuzzyを使えば簡単に実行できます。詳細なハンズオンはまた後日投稿したいと思います。