Hyperband算法的偽代碼如下:
R是單個超參數組合能夠分配的最大資源預算,如1個epoch就是1個預算,R=81,就表示81個epoch,smax=4,B=5R=405,當s=4時,初始為81個點,每個點訓練1個epoch,然后選擇最好的27個點,每個點再訓練3個epoch,...,直到最后只剩下1個點,再訓練81個epoch,當s=0時,初始為5個點,不淘汰,每個點都訓練81個epoch,如下表所示:
這樣可以將表現不好的點迅速淘汰掉,讓表現好的點繼續訓練.以MNIST為例,訓練結果如下:
可見訓練結果並不是s=0或者s=4時最好,而是s=3時最好.