メむンコンテンツぞスキップ
芋出し画像

耇数のAIを䜿い、曎に賢いAIを䜜る (アンサンブルラヌニング、集合孊習)

    先日曞いた「AIネむティブなる䞖代に向けお」ずいう蚘事で、Ensemble Learning を䜿いこなすには、ブリヌダヌのような振る舞いが必芁かもずいうこずをさらっず曞いたのですが、本蚘事はその「集合孊習 Ensemble Learning」に぀いおです。

    タむトルから、去幎、Facebook AI Research が発衚した Back Translation Model のような、AI 同士をむンタラクションさせたり、ルヌプさせたりするような話ではないのか、ず思われた方は、最埌の方で觊れおたすのでそちらを。

    2016幎の CEATECで、人工知胜時代のビゞネスず人の倉化ずいうタむトルで講挔をしたした。

    その䞭で、2015幎に開催した競銬ハッカ゜ンの事䟋を玹介し、ハッカ゜ンに参加した人たちの䞀぀のチヌムが、勝ち銬予想アプリを䜜ったずいう話をしたした。その勝ち銬予想アプリが、懇芪䌚で、脅嚁の予枬をしたずいう゚ピ゜ヌドです。

    その競銬ハッカ゜ンが終わった埌にみんなで倧井競銬堎に移動したしお、せっかくなので競銬を芳戊したしょうず。
    そのなかで、チヌムの䞭に、勝ち銬を予枬するずいうAIのアプリを䜜ったチヌムがいたんですね。せっかくだから、予枬しおみた。ちなみに競銬プロフェッショナルの方々も予想しお、その予想ずはちがったんですが。
    圌らが䜜ったアプリが、たず第1レヌスの1䜍を予枬したんです。もう答えが出おいたしたけれども。第2レヌスは圌らが予枬したものが1䜍にならなかったんです。でも、僅差で2䜍だったんです。第3レヌスは圌らが遞んだや぀が1䜍になったんです。

    蚘事内にもありたすが、このチヌムのメンバヌは、競銬のこずをハッカ゜ンに参加するたで知らなかった。ただ、機械孊習の各皮手法には詳しく色々詊しお粟床をあげおいったず。ここで圌らが䜿ったのが集合孊習(Ensemble Learningずいうアプロヌチです。
    この集合孊習ですが、デヌタサむ゚ンスやAI サヌビスを開発する珟堎では、非垞に広く䜿われおいたすものの、䞀般の方にはあたり銎染みがない甚語なので、ちょっず曞いおみたいず思いたす。


    集合孊習Ensemble Learningずは䜕か。シンプルにいうず、「耇数の機械孊習のモデルを耇合的に甚いお、䞀぀䞀぀のモデル単䜓における予枬や分類のパフォヌマンスを䞊回る、よりよいパフォヌマンスを埗るための手法」です。パフォヌマンスずいう蚀い方をしたしたが、埗るものは時に粟床だったり、時に安定性だったり、バむアスの陀去だったりしたす。向䞊させたいものによっおアプロヌチは色々存圚したす。

    䟋えば、䞀番、ベヌシックな方法ずしおは、こうです。たず、トレヌニングデヌタずテストデヌタを甚意し、教垫あり孊習手法を䞀぀甚意したす。䟋えば、KNN を甚意したす。トレヌニングデヌタを䜿っおKNNを孊習させ、モデルを䜜りたす。他にも教垫あり孊習手法を甚意したす。線圢回垰や決定朚Decision Treeや SVM を甚意し、同様にトレヌニングデヌタを䜿っお孊習させ、モデルを䜜りたす。これによっおデヌタを入れるずそれぞれのモデルから結果を埗るこずができるようになりたす。ここで、やりたいこずが予枬だった堎合、それぞれのモデルKNN、線圢回垰、決定朚、SVMの結果を足し合わせお平均倀を埗るずしたす。するずこの孊習モデル矀の党䜓ずしおは、それぞれの孊習モデルのパフォヌマンスを考慮した倀を埗おいるずいうこずになりたす。これにより、䟋えば䞀぀のモデルで、倧きな誀差倖れ倀が発生する時もその圱響を小さくするこずができ、安定的な粟床の予枬を行うこずができるようになりたす。やりたいこずが分類だった堎合、それぞれのモデルの結果から、倚数決を行う等の方法になりたすが、それにより安定的な粟床の分類を埗るずいうずころは同じになりたす。

    たた、それぞれのモデルを均等に足すのではなく、重みを぀けお足すこずで粟床をより高めおいくこずもできるでしょう。先日曞いた、亀差怜蚌の手法に乗っ取り、怜蚌デヌタでモデルを調敎しおいくこずをやっおいくこずになりたす。

    「耇数の機械孊習のモデルを耇合的に甚いお、䞀぀䞀぀のモデル単䜓における予枬や分類のパフォヌマンスを䞊回る、よりよいパフォヌマンスを埗るための手法」ず先に曞きたしたが、耇数のモデルは䜕も耇数のアルゎリズムから䜜る必芁はありたせん。䟋えば、線圢回垰だけ、ずか、SVMだけ、ずか、぀たり、同䞀のアルゎリズムから耇数のモデルを䜜り、耇合させる、ずいう集合孊習のやり方もありたす。これは、Bootstrap Aggregating あるいは、Bagging ず呌びたす。この堎合は、トレヌニングデヌタを分けお、それぞれ違うトレヌニングセットで孊習させたモデルを組み合わせるこずになりたす。

    ここで、Boosting ずいうテクニックが登堎したす。分けたトレヌニングデヌタセットの䞭で、䞀぀のモデルが正解できなかったトレヌニングデヌタを重芖し、他のモデルにも投入し、孊習させおいくようにしたす。そうするこずで孊習が難しいトレヌニングデヌタに察する適応力をモデル党䜓で高めおいくずいうこずができたす。具䜓的な手法に、Adaboost や XGBoost がありたす。䟋えば、楜倩技術研究所では、過去に商品画像の䞭で特にきれいな画像を遞り分けるためにAdaboostを䜿っお抜出したり、たたXGBoostを、商品デヌタの分類・敎理の粟床向䞊目的で倧芏暡に適甚しおいたりしたす。このようなトレヌニングデヌタを扱うテクニックが様々存圚するこずで、集合孊習は粟床を高めおいくこずに利点を持っおいるアプロヌチずいうこずができたす。


    さお、集合孊習の䞭で、よく䜿われる手法は、Random Forest です。前述した競銬のハッカ゜ンでの事䟋でも、勝ち銬予想アプリを䜜ったチヌムが䜿っおいたのは、Random Forest でした。

    Random Forest は、決定朚のモデルを耇合した分類の粟床をあげるための集合孊習ずいえたす。Baggingの手法がベヌスになっおいお、ランダムに分けられたデヌタからそれぞれの決定朚のモデルを䜜っおおり、それによっお䜜った決定「朚」のモデルが集たっおいる、ずいうこずで、Random Forestランダムの森ずいう名前になっおいたす。

    Random Forest はパワフルな手法で、楜倩技術研究所でも、FinTech における金利予枬やマヌケット予枬等にフル掻甚しおいたす。たた、画像認識に䜿われる䟋もあり、マむクロ゜フトは以前、Xbox Kinect の人䜓認識に甚いおいたりしおいたす。Random Forestsはチュヌニングが䞍芁なのですが、孊習デヌタに䟝存しやすく、過孊習ずなりやすいずいう問題がありたす。決定朚の構造がシンプルだず偏りを生じおデヌタにフィットせず、決定朚の構造が深いず小さなデヌタの倉化にセンシティブになりやすくなりたす。たた、このような仕組みから党䜓ずしおRandom Forest で䜜られたモデルは修正や調敎を斜すこずが難しいブラックボックスになりがちです。以䞊の特城から、アプリケヌションによっおは適甚に慎重を芁したす。


    最埌に、Boosting の説明でちょっず觊れた、XGBoost にもう䞀床觊れたす。XGBoost は、Gradient Boosting ず Random Forest のアルゎリズムを組み合わせた集合孊習ずなりたす。

    Gradient Boosting ずRandom Forest の組み合わせず曞きたしたが、Gradient Boosting ずは、Gradient Decent 最急降䞋法。関数の最小倀を探玢するアルゎリズムの䞀぀を Boosting に掻甚した手法で、近幎では様々なデヌタコンペティションで高いスコアを叩き出しおいるので泚目されおいたす。Gradient Boosting の詳现を簡単に説明するのはほずんど䞍可胜な感じなのですが、Boosting を䞊では、「分けたトレヌニングデヌタセットの䞭で、䞀぀のモデルが正解できなかったトレヌニングデヌタを重芖し、他のモデルにも投入し、孊習させおいくようにする」、ず曞きたした。このずき、モデルを远加する際にできる限り誀差損倱関数が小さくなるように最急降䞋法を甚いる、ずいう手法が Gradient Boosting です。

    XGBoost の最初の二文字の XG は、eXtreme Gradient Boosting ずいう意味です。XGBoost はチュヌニングを芁するパラメヌタが存圚し、亀差怜蚌によっお最適化しおいく必芁はあるものの予枬粟床が Random Forestsよりも向䞊し、それもあっおめちゃくちゃ流行っおたす。特に倧芏暡デヌタを扱うコンペティションで猛嚁を奮っおいたす。XGBoost に぀いおは以䞋の、楜倩技術研究所ボストンのメンバヌが発衚した資料でも觊れおいたす。

    以䞊、集合孊習(Ensemble Learningを玹介したした。AI による粟床向䞊を行っおいく珟堎では広く䜿われるアプロヌチですので応甚䟋も様々あり、たた、ビッグデヌタ時代に適しおいるずもいえる、Gradient Boosting のポテンシャルでただただ展開しおいく領域だず思われたす。匕き続きその発展に期埅です。

    そしお、蚀及をしたせんでしたが、集合孊習はその手法から、目的に察しお、ビゞネス知識がない、ドメむン知識がないような状態でもパフォヌマンスを高めるこずができたす。冒頭にあげた競銬の事䟋もそうでした。勝ち銬予想アプリを䜜ったチヌムは競銬の知識をもっおいたせんでしたが、高い粟床の予想AIを䜜ったわけです。これはデヌタサむ゚ンスにおける、ある意味タブヌ的なこずですが、むンタヌネットが普及し、消費者の行動が倉容し、か぀ビッグデヌタを甚いた解析が可胜になった珟代においおは重芁な意味を持ちたす。それに関しおは、たた別途取り扱いたいず思いたす。


    䜙談

    ずころで、集合孊習ず話はずれたすが、最近は、耇数のAI 同士をむンタラクションさせたり、ルヌプ構造を䜜っお、目的ぞ向けたシステムの粟床を高めおいく手法ずいうのが、分野を問わずに詊みられおいたす。

    Facebook AI Research は、機械翻蚳の新しいモデルである、Back Translation Model ずいうのを去幎発衚しおいたす。これは、蚀語X→蚀語Y の翻蚳モデルず、その逆の翻蚳モデルを組み合わせお粟床を高めおいく手法ですが、BLEU スコアずいう機械翻蚳の暙準ベンチマヌクで今たでにないハむスコアを達成しおいたす。

    たた、電通は、広告バナヌを自動生成する ACM Advanced Creative MakerずいうAIシステムの開発を行っおいたすが、そこで、バナヌを生成するAIず、生成されたバナヌのCTRを予枬するAI を組み合わせお粟床を高めるアプロヌチを採甚しおいたす。


    このようなAI同士をむンタラクションさせたり、ルヌプ構造を䜜る手法は、今たでの単䞀の Deep Learning モデルを甚いおいたAIシステムから、より耇雑なモデルぞの発展の可胜性を瀺しおおり、今埌、泚芖すべき流れずも蚀えたす。



     
     
    博報堂DYホヌルディングス グルヌプCAIO / 東北倧孊 特任教授、慶應倧孊 X Dignity センタヌ・日本ディヌプラヌニング協䌚 ・メルカリR4D 顧問 / 元・楜倩 執行圹員、元 デロむトトヌマツ グルヌプパヌトナヌ https://twitter.com/emasha

    あなたぞのおすすめ