「三個臭皮匠,勝過一個諸葛亮。」相信大家都聽過,意思是三個平庸的人只要合作,也能勝過聰明絕頂的人。當一班人要完成一件具挑戰的任務時,為了鼓勵大家便會這樣說。但大家有沒有想過其實這並不太可能發生在AI身上——「三個臭AI,不能勝過一個諸葛AI」。

這就要由AI合作的方式說起。假設我們有一個Task要解答100條只有A或B的Multiple Chioce,然後有三個AI根據不同的 Macine Learning Algorithm / Model 得出三組不同的答案。最後我們得知每一組答案都有70%答對,即是說我們無論使用哪一個AI也只得70分。

那麼到底有沒有方法使這三個AI合作起來得到更高分數?在Machine Learning裏我們稱這種合作方式為Model Ensembling。而本文會介紹最簡單但有用的其中一種Model Ensembling就是Voting。若有興趣查看更多其他Model Ensembling方法,可以看看MLwave介紹Model Ensembling的Article

Voting顧名意義就是多數服從少數。假設每題答案有70%答對,那麼我們3個人投票之後會得到以下機會率:

0人答對 - 0.3 x 0.3 x 0.3 = 0.027
1人答對 - 3 x 0.3 x 0.3 x 0.7 = 0.189
2人答對 - 3 x 0.3 x 0.7 x 0.7 = 0.441
3人答對 - 0.7 x 0.7 x 0.7 = 0.343

換而言之,如果我們利用Voting,只要2人或以上答對,我們就能得出正確答案。所以合作之後答對的機會率會是78.4%,比單一高了8.4%。

回到三個臭皮匠的故事,為什麼三個臭皮匠不能勝過諸葛亮?答案很簡單,因為諸葛亮有99%機會答對!那麼30個臭皮匠可以嗎?我們可以用一句R Code來計算:

> pbinom(14,30,0.7, lower.tail =  FALSE)
[1] 0.9936297

99.4%!但很遺憾故事裏的「臭皮匠」答對的機會可能只有40%,並沒有計算用的70%。

那麼333333個臭皮匠又如何?統計學告訢我們當水準之下的AI們合作只會令情況更加差。三個只有40%機會答對的Voting結果只有35.2%機會最後答對。

結論:三個臭皮匠,不能勝過諸葛亮。

當然這只是一個比喻令大家更容易明白Model Ensemble是什麼,我相信「爛船還有三分釘」、 「人不可貌相」,「臭皮匠」的智力可能不下於諸葛亮,也許三個臭皮匠也能勝過A.I.明禎?此外,大家又覺得三英又能不能戰呂布?歡迎大家留下Comment!