AIでチョコが「本命」か「義理」かを判別 エンジニアの試みが話題に

Home » 媒体 » ITmedia » AIでチョコが「本命」か「義理」かを判別 エンジニアの試みが話題に
ITmedia, Web コメントはまだありません



ニュース

» 2018年02月13日 13時37分 公開



AIでバレンタインチョコが本命か義理か判別する――そんな試みをエンジニアのひよこさん(@hiyoko9t)が「Qiita」で公開。



 人工知能(AI)でバレンタインのチョコレートが本命か義理かを判別する――2月14日のバレンタインデーを前に、そんな試みがエンジニア向けの情報共有サイト「Qiita」で公開され、話題となっている。男性からすると、女性から受け取ったチョコレートが本命か義理か分からず、勘違いをして恥ずかしい思いをする……そんなトラブルをAIで解決できるかもしれない。

photo
本命と義理の境界線を求めようという試み=ひよこさんがエンジニア向けの情報共有サイト「Qiita」に投稿した記事より

 開発者のひよこさん(@hiyoko9t)は、本命チョコなら装飾が凝っている、義理チョコならシンプル――など、チョコの画像内にそれぞれ何らかの共通する特徴があると考えた。そこで「本命チョコ」「義理チョコ」とWeb検索して集めた画像データを基に、画像認識の分野で広く使われる「畳み込みニューラルネットワーク」(Convolutional Neural Network、CNN)を用いて、本命か義理かを判別させる方法を開発したという。

photo
畳み込みニューラルネットワークを活用した

 Web上で取得できる枚数が少なかったため、本命と義理の画像(各500枚)を、左右反転、上下反転し1枚を4枚分に“水増し”。各2000枚(500枚×4)の中から100枚を使って1回の学習とし、1000回繰り返すことで精度を高めたという。

 ひよこさんは、開発したモデルを使ってテストデータを判別させた結果を、Qiitaで公開している。ひよこさんによれば、ハート形やピンク色という特徴があると本命の確率が90%以上に分類されやすい、義理の確率が90%以上のものは色の種類が少なく形状がシンプル――といった大まかな特徴があるようだ。

photo
判別結果の一例。ハート形やピンク色の特徴を持つチョコが本命に分類されやすいようだ


photo
90%以上の確率で義理チョコと判定されたものは、本命と比べると、色の種類が少なく形状がシンプルなものが多かったという

 一方、判断に困るもの(本命・義理、どちらか一方の確率が40〜60%)は、本命・義理の両方の性質を兼ね備えたものが多くみられたとしている。

photo
判断に困るもの(一方の確率が40〜60%)もあったという。「右下の『手』は、確かにもらっても判断に困る」(ひよこさん)

 ひよこさんは「当初考えていたよりも高い精度の分類を行えた」とし、「バレンタインも近いので、1人でも多くの人が幸福になることを祈ります」と締めくくっている。

寄り道テック

IT・ネットの最新事情を日々追いかけている編集部が少しだけ“寄り道”。記者がいま気になっているテクノロジーのあれやこれやを独断で紹介します。



Copyright © ITmedia, Inc. All Rights Reserved.

‘; html += ‘

‘; e_dlv.innerHTML = html; cX = cX || {}; cX.callQueue = cX.callQueue || []; cX.callQueue.push([ ‘insertAdSpace’, { adSpaceId:adid, width:’100%’, height:190, initialHorizontalAdUnits:1, initialVerticalAdUnits:1, resizeToContentSize:true, renderTemplateUrl:render } ]); }; var insert_ok = function(_target,_str){ e_body.insertBefore(e_dlv,_target); set_dlv(); }; var insert_ng = function(_str){ e_dlv.style.display = ‘none’; }; var main = function(){ var e_nodes = e_body.childNodes; // BODY 直下子要素 var e_tags = []; // BODY 直下タグ var p_num = []; // BODY 直下 P タグ位置 var p_target_num; // 枠挿入基準位置 var o_float = {}; // 回り込み要素 var o_this = {}; // アクティブタグ var o_next = {}; // アクティブタグの次のタグ var flag_insert = 0; // 挿入フラグ // 回り込み要素チェック var check_float = function(_e){ var e = 0; if(_e.id.match(/^col¥d{3}(l|r)$/)){ e = _e; } return e; }; // 要素の Y 座標と高さの合計値 var get_element_y = function(_e){ var ey = 0; var eh = _e.offsetHeight; while(_e){ ey += _e.offsetTop; _e = _e.offsetParent; } return ey + eh; }; var check_ptag = function(_e){ var e = 0; if(_e.tagName && _e.tagName === ‘P’){ e = _e; } return e; }; var try_insert = function(){ p_target_num = Math.floor(p_num.length / 2) – 1; if(p_target_num >= _maxrange) p_target_num = _maxrange; for(var i = p_num[p_target_num]; i = _threshold){ try_insert(); }else{ insert_ng(‘P タグ ‘ + _threshold + ‘ 以下’); } }; if(e_body){ main(); }else{ insert_ng(‘記事本文なし’); }
})(document,4,5);






コメントを残す