2021-AIAC-QQ-Browser-Hyperparameter-Optimization-Rank6

Overview

2021-AIAC-QQ-Browser-Hyperparameter-Optimization-Rank6

2021 AIAC QQ浏览器AI算法大赛 赛道二 超参数优化 初赛Rank3 决赛Rank6

赛题官网:https://algo.browser.qq.com/

赛题内容:在信息流推荐业务场景中普遍存在模型或策略效果依赖于“超参数”的问题,而“超参数"的设定往往依赖人工经验调参,不仅效率低下维护成本高,而且难以实现更优效果。因此,本次赛题以超参数优化为主题,从真实业务场景问题出发,并基于脱敏后的数据集来评测各个参赛队伍的超参数优化算法。本赛题为超参数优化问题或黑盒优化问题:给定超参数的取值空间,每一轮可以获取一组超参数对应的Reward,要求超参数优化算法在限定的迭代轮次内找到Reward尽可能大的一组超参数,最终按照找到的最大Reward来计算排名。

算法baseline主要来自华为HEBO,针对比赛做了一些参数和代码的修改。另外官方提供的代码修改了一些结构方便线下debug。

运行环境: win10 ,Python3.6,Pycharm20200101,git bash用于运行打包脚本。

官方代码主要修改点:

1、thpo/run_search.py函数,增加修改如下代码:

#run_cmd = common.PYTHONX + " ./thpo/run_search_one_time.py " + common.args_to_str(cur_args)
args = common.parse_args(common.experiment_parser("description"))
searcher_root = args[common.CmdArgs.searcher_root]
searcher = get_implement_searcher(searcher_root)
eva_func_list = args[common.CmdArgs.data]
repeat_num = args[common.CmdArgs.repear_num]
err_code, err_msg = run_search_one_time(args, searcher, eva_func_list[0], repeat_num)

2、初赛阶段,修改n_iteration为10次,总共50组参数,因为hebo线下很容易就到0.99+,将迭代的次数减小,方便继续优化,线下线上能保证同时上分。

hebo代码修改点:

1、修改代码结构,适配本次比赛,具体可以查看searcher.py.

2、searcher.py,name='gpy',MACE方法改为MOMeanSigmaLCB,EvolutionOpt修改iters参数为25.决赛优化check_unique的去重代码。在获得一批最优点后,增加通过距离选择其中一些点的方法,优于hebo原代码中的随机选择方式。具体在distance相关代码。

3、bo/models/gp/gpy_wgp.py,Matern32改为Matern52,去掉linear核,optimize_restarts修改为原来的三分之一,restarts改为一次,也就是优化一次。

总结

上面是本次比赛初赛和决赛的一些修改点,其它的漏掉的记起来了再补充。因为之前没做过超参数的优化,所以除了读大量论文和代码花了很多时间,调参也是花了很多时间。所以try.txt里面记录了大量调参的过程和结果,留作记录。另外初赛阶段把NeurIPS 2020开源的代码都试了下,特别是turbo这个试了很久,感觉应该有效果,但是实际使用效果不佳。初赛阶段之所以做上面这些修改,主要原因是一开始hebo代码调通以后,线下0.99线上0.001,后面发现是超时问题,所以相关的调参工作基本上是优化代码的运行时间,确保精度不下降的情况下提高速度,最终逐步从0.7+优化到0.95+,不过初赛最终切榜的时候显示超时,线上分数掉到0.899+,rank3.

复赛阶段基本上代码没做太大修改,因为试了很多策略效果都不怎么理想。最终还是没用early stop策略。线上0.712+

reference里面有使用的相关开源代码的链接,里面也能找到相应的论文,细节部分可以看下论文里面。

reference:

1、https://github.com/huawei-noah/HEBO/tree/master/HEBO

2、https://bbochallenge.com/leaderboard/

3、https://github.com/uber-research/TuRBO

Owner
Aigege
记录下数据挖掘、计算机视觉工作中编写的一些代码和总结,备份和分享下。 主要包括工作中的一些实现,自己刷比赛时编写的一些解决方案,包括分析和建模,另外还有些阅读最新论文实现的视觉CNN,结构化数据NN网络等,使用的tensorflow、keras框架,陆续加入阅最新sota论文实现的新算法
Aigege
A clean and robust Pytorch implementation of PPO on continuous action space.

PPO-Continuous-Pytorch I found the current implementation of PPO on continuous action space is whether somewhat complicated or not stable. And this is

XinJingHao 56 Dec 16, 2022
DSL for matching Python ASTs

py-ast-rule-engine This library provides a DSL (domain-specific language) to match a pattern inside a Python AST (abstract syntax tree). The library i

1 Dec 18, 2021
An open software package to develop BCI based brain and cognitive computing technology for recognizing user's intention using deep learning

An open software package to develop BCI based brain and cognitive computing technology for recognizing user's intention using deep learning

deepbci 272 Jan 08, 2023
Speckle-free Holography with Partially Coherent Light Sources and Camera-in-the-loop Calibration

Speckle-free Holography with Partially Coherent Light Sources and Camera-in-the-loop Calibration Project Page | Paper Yifan Peng*, Suyeon Choi*, Jongh

Stanford Computational Imaging Lab 19 Dec 11, 2022
A Tensorflow implementation of CapsNet based on Geoffrey Hinton's paper Dynamic Routing Between Capsules

CapsNet-Tensorflow A Tensorflow implementation of CapsNet based on Geoffrey Hinton's paper Dynamic Routing Between Capsules Notes: The current version

Huadong Liao 3.8k Dec 29, 2022
A unified 3D Transformer Pipeline for visual synthesis

Overview This is the official repo for the paper: "NÜWA: Visual Synthesis Pre-training for Neural visUal World creAtion". NÜWA is a unified multimodal

Microsoft 2.6k Jan 03, 2023
An unofficial styleguide and best practices summary for PyTorch

A PyTorch Tools, best practices & Styleguide This is not an official style guide for PyTorch. This document summarizes best practices from more than a

IgorSusmelj 1.5k Jan 05, 2023
Evaluation toolkit of the informative tracking benchmark comprising 9 scenarios, 180 diverse videos, and new challenges.

Informative-tracking-benchmark Informative tracking benchmark (ITB) higher diversity. It contains 9 representative scenarios and 180 diverse videos. m

Xin Li 15 Nov 26, 2022
Analysis of Smiles through reservoir sampling & RDkit

Analysis of Smiles through reservoir sampling and machine learning (under development). This is a simple project that includes two Jupyter files for t

Aurimas A. Nausėdas 6 Aug 30, 2022
Code & Experiments for "LILA: Language-Informed Latent Actions" to be presented at the Conference on Robot Learning (CoRL) 2021.

LILA LILA: Language-Informed Latent Actions Code and Experiments for Language-Informed Latent Actions (LILA), for using natural language to guide assi

Sidd Karamcheti 11 Nov 25, 2022
Towards Ultra-Resolution Neural Style Transfer via Thumbnail Instance Normalization

Towards Ultra-Resolution Neural Style Transfer via Thumbnail Instance Normalization Official PyTorch implementation for our URST (Ultra-Resolution Sty

czczup 148 Dec 27, 2022
Revisiting Self-Training for Few-Shot Learning of Language Model.

SFLM This is the implementation of the paper Revisiting Self-Training for Few-Shot Learning of Language Model. SFLM is short for self-training for few

15 Nov 19, 2022
Created as part of CS50 AI's coursework. This AI makes use of knowledge entailment to calculate the best probabilities to win Minesweeper.

Minesweeper-AI Created as part of CS50 AI's coursework. This AI makes use of knowledge entailment to calculate the best probabilities to win Minesweep

Beckham 0 Jul 20, 2022
K-Means Clustering and Hierarchical Clustering Unsupervised Learning Solution in Python3.

Unsupervised Learning - K-Means Clustering and Hierarchical Clustering - The Heritage Foundation's Economic Freedom Index Analysis 2019 - By David Sal

David Salako 1 Jan 12, 2022
PyTorch reimplementation of Diffusion Models

PyTorch pretrained Diffusion Models A PyTorch reimplementation of Denoising Diffusion Probabilistic Models with checkpoints converted from the author'

Patrick Esser 265 Jan 01, 2023
RLHive: a framework designed to facilitate research in reinforcement learning.

RLHive is a framework designed to facilitate research in reinforcement learning. It provides the components necessary to run a full RL experiment, for both single agent and multi agent environments.

88 Jan 05, 2023
MG-GCN: Scalable Multi-GPU GCN Training Framework

MG-GCN MG-GCN: multi-GPU GCN training framework. For more information, please read our paper. After cloning our repository, run git submodule update -

Translational Data Analytics (TDA) Lab @GaTech 6 Oct 24, 2022
AI4Good project for detecting waste in the environment

Detect waste AI4Good project for detecting waste in environment. www.detectwaste.ml. Our latest results were published in Waste Management journal in

108 Dec 25, 2022
Utilities and information for the signals.numer.ai tournament

dsignals Utilities and information for the signals.numer.ai tournament using eodhistoricaldata.com eodhistoricaldata.com provides excellent historical

Degerhan Usluel 23 Dec 18, 2022
Prompt-BERT: Prompt makes BERT Better at Sentence Embeddings

Prompt-BERT: Prompt makes BERT Better at Sentence Embeddings Results on STS Tasks Model STS12 STS13 STS14 STS15 STS16 STSb SICK-R Avg. unsup-prompt-be

196 Jan 08, 2023