CN110795072A - 一种基于群体智能的群智竞赛平台框架系统及方法 - Google Patents
一种基于群体智能的群智竞赛平台框架系统及方法 Download PDFInfo
- Publication number
- CN110795072A CN110795072A CN201910982763.3A CN201910982763A CN110795072A CN 110795072 A CN110795072 A CN 110795072A CN 201910982763 A CN201910982763 A CN 201910982763A CN 110795072 A CN110795072 A CN 110795072A
- Authority
- CN
- China
- Prior art keywords
- competition
- data
- information
- labeling
- crowd
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于群体智能的群智竞赛平台框架系统及方法,包括:在服务器端布置数据标注平台接入模块、群智社区接入模块及交互式训练空间模块,以Web页面形式呈献给用户进行交互;本发明解决现有机器学习竞赛系统并未充分利用群体智能的弱点,提高现有机器学习竞赛系统的数据利用效率、模型训练效率,可充分发挥利用群体智能的优势,极大程度上减少了竞赛举办者举办竞赛的成本,同时节省了竞赛参与人员参与竞赛的成本。
Description
技术领域
本发明涉及一种基于群体智能的群智竞赛平台框架系统及方法,属于计算机网络传输和机器学习技术领域。
技术背景
目前,传统的机器学习竞赛平台框架系统功能单一、流程简单,并不能充分组合释放人工智能,其过程如下:首先由举办方公开已有数据集并颁布比赛规则,竞赛参与者基于竞赛举办者指定的比赛任务及数据集开始分析数据、设计算法,最终利用私有计算资源完成模型训练并将训练好的模型或者数据结果向竞赛平台提交,竞赛发布者利用测试集并根据预期评分标准制定的评分器对参与者的提交答案给出评价反馈,竞赛参与者根据反馈结果进行算法调优,之后再次提交运行,整个过程直至比赛结束举办者根据评分标准公布选手的成绩排名。
这种传统意义上的群智竞赛举办过程并没有充分利用群智资源,并没有体现出交互式机器学习的概念,其更多地是关注个人的提交结果,其最终得到的所谓“最优”模型,只是参与者提交的众多模型中表现最好的一个,而非基于数据集所能训练出来的最好模型。同时,就群智平台的现状而言,竞赛者已标注的数据毕竟有限,与海量未标记未处理的原始数据相比只能是冰山一角,虽然更多的已标注数据对竞赛参与者而言意味着有更多的选择甚至可以训练出更优的模型,但经济成本和时间成本却成为群智竞赛平台数据标注上最大的难题。交互式机器学习的出现会让数据标注难题迎刃而解,从而最大限度地发挥群体智能的效应。
针对上述问题,本群智竞赛平台框架系统基基于群体智能理念,融入主动学习方法、以RestfulAPI的形式接入数据标注模块,可大幅节省数据标注成本,提高数据标注效率,得到更多有价值的标注数据从而提升机器学习模型训练质量。与此同时,本发明系统支持高自由度构建模型训练空间,解决传统竞赛系统对多编程语言、多函数依赖无法兼容的痛点,可方便用户完成线上模型实时训练、调参,最终得到最优的机器学习训练模型。
发明内容
本发明的技术解决问题是:解决现有机器学习竞赛系统并未充分利用群体智能的弱点,提高现有机器学习竞赛系统的数据利用效率、模型训练效率,提供一种基于群体智能的群智竞赛平台框架系统及方法,可充分发挥利用群体智能的优势,极大程度上减少了竞赛举办者举办竞赛的成本,同时节省了竞赛参与人员参与竞赛的成本。
本发明技术解决方案:
一种基于群体智能的群智竞赛平台框架系统,包括:在服务器端布置数据标注平台接入模块、群智社区接入模块、交互式训练空间模块;整个系统以Web页面形式呈献给用户进行交互;
数据标注平台接入模块:以RestfulAPI协议作为通信方式,从交互式训练空间模块接收用户提出的数据标注请求,通过主动学习策略动态选择标注实例,优先选择最有信息量的价值实例进行标注,将标注完成的数据输出至交互式训练空间模块;
群智社区接入模块:为基于手机微信的群智竞赛平台辅助模块,部署在一台独立的服务器上实现竞赛发布者、竞赛选手间相互的交流沟通功能,同时永久保存竞赛发布者发布的文字信息、文件信息和分享链接信息;通过itchat框架实现微信端与服务器端双向同步通讯,将最终的信息发往服务器端;通过Django框架将信息最终呈现到竞赛平台的指定位置;群智社区接入模块通过交互式训练空间模块,实时获取交互式训练空间模块中的模型训练日志、模型训练结果及选手在群智竞赛平台上发布的各项信息,将各项信息及时同步到选手的微信账号中;
交互式训练空间模块:为在线模型的训练模块,采用Docker技术实现对多编程语言、多函数依赖的广泛兼容,并以Docker方式部署线上模型训练环境,接收参赛选手提交的不同模型,基于服务器集群资源对不同模型进行线上训练;同时,结合主动学习方法,对海量未标注数据进行数据标注选择,将选择后的结果发往数据标注平台模块进行标注,同时接收数据标注平台模块标注后的返回结果,继续对所述不同模型进行线上训练,不断调优,最终达到符合上传者的预期。
所述数据标注平台接入模块实现过程如下:
(1)以RestfulAPI协议作为通信方式,完成交互式训练空间模块与数据标注平台接入模块的双向通信,一方面实现派发标注任务,即根据所获得的标注任务,通过标注策略将标注任务派发给标注方,其中标注策略通常为随机派发策略,即根据标注方的标注能力随机派发特定的标注任务;另一方面实现完成标注任务回传,即完成标注任务后,通过即时回传和统一回传两种方式将标注结果回传,即时回传是每完成一定批次的标注任务后以RestfulAPI的形式向交互式训练空间模块发送标注好的结果,支持交互式训练空间中的模型即时快速迭代;统一回传根据标注方的需求标注完特定量的标注任务后,直接将结果以文件形式返回给标注方;
(2)基于主动学习策略优先派发最有信息量的价值实例,接收从交互式模型训练空间模块发来的数据标注请求,优先派发主动学习选择的最有信息量的价值实例给标注方。
所述群智社区接入模块实现过程如下:
(1)通过itchat框架实现微信端与服务器端的双向同步通讯,一方面,从交互式训练空间模块获取信息同步至微信端,调用itchat库的auto_login函数生成微信登录二维码,竞赛举办者扫码登录微信账号,竞赛举办者在平台端发布的文字形式、文件形式、分享链接形式的信息,信息将被封装为json形式字段通过itchat库同步至微信端,方便竞赛举办者与选手进行即时交流;另一方面,从微信端同步消息至服务器端,通过在一台通讯服务器上启动群聊消息抓取程序实时获取群聊消息,根据消息类型生成数据记录并存入数据库,实现微信端消息抓取;
(2)基于Django框架完成信息存储及呈现。通过Django框架管理的postgreSQL数据库可永久保存微信端与服务器端同步的所有信息,方便选手随时查阅。在交互式训练空间模块的前端页面进行消息可视化展示时要先从数据库中查询得到相应的微信群聊消息数据,然后根据模板文件将数据信息渲染,最终以可视化的形式展示在页面上,对于交互式训练空间模块的消息可视化展示采用JavaScript与HTML语言编译开发,使用semantic-ui前端开发框架进行页面布局。
所述交互式训练空间模块实现过程如下:
(1)基于Docker技术实现交互式训练空间模块的搭建,模型训练空间的搭建利用Docker Hub公共仓库,它既支持竞赛举办者根据实际需求选择现有Docker镜像,又支持竞赛参与者根据自身需求定制并上传特定Docker镜像。竞赛举办者可从Docker Hub公共仓库中直接拉取现有的容器或自己部署配置特定的Docker容器以支持竞赛举办,从而实现多编程语言多运行环境的线上代码编译及运行;此外,当前交互式训练空间模块所部署的服务器已部署了机器学习相关的多种环境及依赖,方便选手直接调用;
(2)基于服务器集群资源对模型线上训练,在交互式训练空间模块中,编译运行代码的环境即为Docker容器内部对应的环境,构建模型训练空间之后,竞赛参与者得合竞赛的Docker镜像,通过在交互式训练空间模块中编辑自己举办竞赛的Competition dockerimage属性,将定制的Docker镜像设置为运行参赛者提交代码的默认运行环境,一旦有参赛选手将自己的代码及模型上传到竞赛平台,自动调用Docker的环境依赖完成代码执行及模型训练,支持CPU与GPU训练两种形式,将对硬件资源的调用封装成函数接口,支持训练集群的接入和使用;训练信息、日志和结果信息实时反馈给用户,从而方便用户对不同模型进行线上训练,不断调优;
(3)结合主动学习方法对海量未标注数据进行标注选择,其中主动学习算法以函数形式封装,支持不确定样例法(Uncertainty Sampl ing)、委员会问询法(Query ByCommittee),支持二元分类、多元分类及多标签分类标注问题的解决,同时支持用户自由上传多种方法、进行参数调整;向数据标注平台接入模块发出请求,基于竞赛举办者已公开的标注数据得到初步训练的模型结果,初步训练好的模型根据主动学习策略对未标注数据进行信息量评估,发布标注任务的用户自由设定期望得到的标注样例数量、标注任务截止时间和标注任务描述,通过RestfulAPI的形式向数据标注平台接入模块发出标注请求,待标注任务完成后接收返回结果并将结果加入到已标注数据集中使机器学习模型继续迭代。
本发明基于群体智能的群智竞赛平台框架实现方法,步骤如下:
(1)竞赛任务发布:根据竞赛举办者所拥有的标注数据集按照竞赛规定格式制定竞赛上传压缩包zip格式至系统,压缩包至少应包括竞赛说明yaml格式、竞赛训练集csv格式、测试集csv格式、评分标准python格式四项文件;自动解压、解析压缩包格式内容,并自动创建竞赛,竞赛举办者进入创办后的竞赛窗口进一步完善竞赛信息最终发布竞赛任务;
(2)模型交互式训练空间构建:支持竞赛举办者直接使用平台现有环境、从DockerHub中拉取现有容器及参赛选手上传个人私有容器方式;
(3)模型交互式训练:选手根据竞赛举办者的需求提交个人模型工程文件zip格式,系统会基于交互式训练空间中的环境,根据提交文件中的metadata说明运行模型进行训练,训练结果直接由评分器对模型训练结果予以评分,并将结果反馈给竞赛参与者,竞赛参与者根据模型训练日志、评分结果进行模型调参调优以取得更好成绩;同时,每位竞赛举办者限制竞赛参与者提交模型结果的次数,在节省计算资源的同时鼓励选手高效调参;
(4)向数据标注平台发出数据标注需求:在交互式模型训练模块中嵌入主动学习的模块,基于对现有已标注数据的训练选择未标注数据中最有信息量(most informative)的一批实例,模型在每次训练过程中通过不确定样例法计算所有未标注数据的不确定度(Uncertainty)、通过委员会问询法计算所有未标注数据的投票熵(Entropy)、通过深度主动学习算法计算所有未标注数据的不确定方差(Uncertainty Variance),选择最有价值的一批实例交由标注平台进行标注,标注任务的发送采用RestfulAPI的形式;
(5)标注结果返回交互式训练空间进行模型迭代:在RestfulAPI中规定了任务的完成时间、任务的说明、任务的标注方式信息,数据标注平台接入模块在接受到标注请求后会将标注任务派发;选择即时回传、统一回传两种方式将标注结果返回,其中即时回传是将标注好的数据直接发送至交互式训练空间,有助于模型基于更新数据集快速迭代从而提高模型训练效率,统一回传意味着将标注结果集中发送给数据标注需求者;
(6)群智社区服务竞赛举办者与选手:群智服务社区会记录和群智竞赛相关的信息、文件和通知,与微信端双向同步,既方便竞赛举办者及时发布通知,又方便竞赛参与者们彼此交流学习,将与竞赛相关的信息通过API请求发送至postgreSQL数据库中永久保存,并通过Django框架的render_to_response函数供竞赛举办者和竞赛参与者查阅关键信息。
本发明与现有技术相比的优点在于:
(1)本发明基于群体智能的思想理念,将竞赛数据收集、竞赛发布、竞赛举办、竞赛完成经验交流过程形成闭环,能够充分发挥群体智能的优势,从而能够充分提高机器学习竞赛举办效率,降低机器学习获得标注数据的成本,提高机器学习数据利用率,最终获得更高精度的机器学习训练模型。同时本发明基于RestfulAPI、HTTP网络协议、Nginx反向代理部署服务集群支持群智竞赛系统的稳定高效运行,保障了系统的并发性、稳定性和安全性。
(2)本发明接入数据标注平台及主动学习算法,通过主动学习算法可以完成对标注数据的高效筛选及利用,其中选择出富含信息量的最有价值实例送由数据标注平台完成快速标注,标注后的实例可直接返回群智竞赛平台完成竞赛发布;引入Docker技术打造交互式训练空间,Docker技术的引用可解决机器学习竞赛中多编程语言、多环境依赖的兼容性问题,从而方便竞赛参与者完成线上模型训练迭代;接入群智社区方便参赛选手针对群智竞赛进行经验分享交流,结合国内用户使用习惯,采用itchat库实现对微信群聊天记录的获取,实现竞赛平台与竞赛参赛选手的微信客户端信息双向同步,方便选手交流。
(3)本发明对竞赛举办者而言,可以减小竞赛举办者举办比赛的成本,提高举办比赛的效率,同时可以支持选手线上训练,获取更优的机器学习训练模型;对竞赛参与者而言,可以个性化配置机器学习模型的训练条件,完成模型的线上训练,同时彼此交流共享竞赛经验,从个体智能走向群体智能。
(4)通过使用主动学习算法及对数据标注平台的接入,可大幅节省数据标注成本,进而提高机器学习模型训练效率。现有的竞赛系统和数据标注系统完全独立,且主动学习在标注系统中并未得到有效应用。经论文和实验证明,主动学习的接入可使机器学习模型在现有标注数据45%的规模下即可达到较高的模型精度。
(5)本发明通过Docker技术的应用可高自由度定制模型训练空间,进而解决竞赛平台对多编程语言、多函数依赖的兼容问题。传统竞赛系统如Kaggle、天池等绝大多数都只支持参赛选手提交竞赛结果文件,而无法接受参赛选手对训练模型的提交。
(6)本发明通过基于微信端构建的群智竞赛社区可大幅提高用户的沟通交流效率。传统的竞赛系统大多将论坛集成到竞赛系统之中,或者有些竞赛系统集成了群发邮件的功能,将重要信息推送到参赛选手的邮箱中。但就国内使用情况而言,微信是当前最普及最直接的联系方式,通过itchat库实现群智竞赛系统与微信端消息的双向互通,既可以方便竞赛举办者及时推送重要信息,又可以方便竞赛参与者间的相互交流。
附图说明
图1为本发明系统的组成框图;
图2为图1中数据标注模块的实现流程图;
图3为图1中群智社区模块的功能逻辑图;
图4为图1中交互式训练空间模块中的交互式训练空间搭建实现流程图;
图5为图1中交互式训练空间模块中的主动学习算法实现流程图;
图6为图1中交互式训练空间模块汇中的交互式训练空间搭建功能逻辑图。
具体实施方式
下面结合附图对本发明做进一步说明。
如图1所示,本发明基于Django框架共有三个核心模块:分别是数据标注平台接入模块、群智社区接入模块及交互式训练空间模块,所有服务部署在服务集群上。其中一台主服务器部署群智竞赛平台主系统即Django框架工程,作为外部访问的主要入口。一台服务器作为存储服务器,保存所有用户提交文件及信息,为保证存储数据安全,通讯服务器通过Nginx反向代理的形式将IP映射到主服务器上。一台服务器作通信服务器,主要用于群智社区接入模块的运行,捕获微信端消息并与服务器端双向同步。一台服务器作数据标注模块服务器,用于接受处理并派发标注任务。此外,交互式模型训空间练模块可部署到服务集群上,通过多服务器资源组合可给竞赛参与者提供充足的硬件计算资源。
整个实现过程如下:
(1)数据标注平台接入模块
如图2所示,数据标注平台接入模块的数据可以是经过交互式训练空间中的主动学习算法得来的,或者是由用户直接上传的数据标注平台接入模块通过RestfulAPI协议,既可从群智竞赛平台接收到数据标注任务请求,又可将数据标注后的结果发布到群智竞赛平台。数据标注平台的使用角色有requester(任务发布者)和worker(工人,即标注方),其中requester在平台上发布标注任务,worker在数据标注平台登录后进入任务大厅选择任务并进行标注,requester根据worker标注结果选择是否给与报酬。通过API接口规范实现通讯,可直接充当requester角色发布标注任务,任务发送后,数据标注平台可解析json格式的未标记数据集从而完成数据标注任务。最终将标注完成后的结果返回给用户。用户可以选择将标注后的结果加入模型训练的数据集进行模型迭代或者是直接得到标注结果。
(2)群智社区接入模块
如图3所示,群智社区接入模块以HTTP协议完成与主要模块的交互,数据以URL格式存储到数据库中。对于平台端的消息可视化展示我们采用JavaScript与HTML语言编译开发,使用semantic-ui前端开发框架进行页面布局。平台进行消息可视化展示时要先从数据库中查询得到相应的微信群聊消息数据,然后根据模板文件将数据信息渲染,最终以可视化的形式展示在页面上。可视化展示实现的具体流程如下:
a.用户点击消息可视化展示界面的查询按钮后,通过Django的MTV模式进行视图寻址,调用相应的数据库查询函数。
b.查询函数调用python对于postgreSQL数据库的API函数,根据配置好的数据库相关信息连接数据库。
c.在查询结束后,关闭数据库连接。将查询得到的数据转化为python字典格式,调用Django的render_to_response函数将数据传入模板文件。
d.模板文件被render_to_response函数调用后,将消息数据按照不同的格式进行展示。对于文本类的消界面息直接展示文本内容,对于分享类消息显示含有超链接的分享链接标题,对于文件类消息显示含有超链接的文件名称,点击文件名即可完成文件下载。
(3)交互式训练空间模块
如图4所示,首先竞赛举办者应阅读平台的环境部署文档,判断平台环境是否足以支持竞赛举办。如不支持可从Docker Hub仓库中自行拉取线上Docker容器或定制Docker容器并上传。具体过程包括如下几个步骤,其过程操作逻辑如图6所示:
a.在系统环境下安装Docker,之后再在本地建立Docker仓库。
b.执行docker pull[镜像名称]命令从Docker Hub公共镜像仓库内下载基础镜像。
c.用docker run-it-u root[镜像名称]/bin/bash命令进入Docker镜像内部并根据命令行提示符记录下本次运行的Docker容器ID。
d.在Docker镜像内部配置程序运行所依赖的相关环境,确保程序可在该环境依赖下顺利执行成功。之后退出命令行交互界面。根据记录下对应Docker容器ID,用dockercommit命令提交修改,生成新的Docker镜像。
e.在docker hub公共仓库注册账号并用docker push[容器ID][新的镜像名称]命令将修改后的镜像上传。
完成上述过程,竞赛参与者便可得到适合竞赛的Docker镜像,可以通过在竞赛平台上编辑自己举办竞赛的Competition docker image属性,将定制的Docker镜像设置为运行参赛者提交代码的默认运行环境。一旦有参赛选手将自己的代码及模型上传到竞赛平台,便可以自动调用Docker的环境依赖完成代码执行及模型训练。
此外在交互式训练空间模块中部署了主动学习相关算法,主动学习算法包括常规的不确定样例法(Uncertainty Sampling)、委员会问询法(Query By Committee)及深度主动学习算法(Deep Active Learning)算法等,均以接口形式封装,支持二元分类、多元分类、多标签问题的解决,方便直接调用及扩展。主动学习相关算法如图5所示,其过程解释如下:
a.上传数据集并对数据预处理。通过TF-IDF等算法计算词频。正如TF-IDF字面意义所指,TF-IDF通过特定文档中单词的频率与该单词出现的文档百分比的反比例计算文档中每个单词的值,这在文本挖掘中是非常有效果的。当前在计算TF-IDF的数值上有很多种方法,例如boolean频率法、原始计数法等,我们选择如下公式作为计算: 其中N是在语料库N=|D|中的文档总数,|{d∈D:t∈d}|是t出现的文档数量。
b.问题类别选择。问题类别选择主要包括当前机器学习领域常见的问题,如文本、图像、声音、视频等。系统会自动分析上传数据集并作出预判断,竞赛举办者可自行选择问题类别。
c.策略选择。针对策略选择主要包括机器学习常规的二元分类、多元分类、多标签分类。系统会自动分析上传数据集并作出预判断,竞赛举办者可自行选择策略。
d.模型选择。常用的分类器如逻辑回归、支持向量机等,系统均已支持,此外支持卷积神经网络、循环神经网络等深度学习框架。以支持向量机举例对于文本分类而言,我们经常会同时得到训练数据集{x1,x2,x3,…,xn}和它们的标注结果{y1,y2,y3,…,yn}。如果所有的训练数据都看做在空间中的向量的话,则所有的训练样例都靠近我们称做支持向量的超平面。同时,支持向量机通过内核运算符K允许一个在原始空间X中的向量向更高维度的特征空间F中投射原始输入样例,其中分类器公式为:
e.主动学习算法选择。主动学习算法同样种类较多,但常规实用的方法通常为不确定样例法和委员会问询法,平台均已支持。其中不确定样例法选择样例的思想是选择最不确定归属类别的样例,这一过程会用到概率模型。例如,一个最常见的预测样例不确定度的公式如下所示:其中为在模型θ下该类别所计算出的最高后验概率值。对委员会问询法而言,采用一个委员会模型组合 来代表C个不同基于Dl的模型假设,其中对最有信息量实例的问询是所有“委员”关于如何对实例标注意见最不一致的那个。衡量各个“委员”意见不一致的程度常常用到投票熵(Vote Entropy)的概念,常用公式如下:其中V(yt,m)是标记m在时序t时,从所有委员会成员处收集到的“投票”数量。
f.其它参数设定。其它的参数包括机器学习的相关参数,如训练轮次、每一Batch所包含的实例个数等,以及发往数据标注接入模块的任务说明和标注实例个数、返回参数等。
在完成上述操作后,模型即可开始线上训练,其训练过程、结果可发往群智社区接入模块,同步到用户的手机微信上。
以上虽然描述了本发明的具体实施方法,但是本领域的技术人员应当理解,这些仅是举例说明,在不背离本发明原理和实现的前提下,可以对这些实施方案做出多种变更或修改,因此,本发明的保护范围由所附权利要求书限定。
Claims (5)
1.一种基于群体智能的群智竞赛平台框架系统,其特征在于,包括:在服务器端布置数据标注平台接入模块、群智社区接入模块、交互式训练空间模块;整个系统以Web页面形式呈献给用户进行交互;
数据标注平台接入模块:以RestfulAPI协议作为通信方式,从交互式训练空间模块接收用户提出的数据标注请求,通过主动学习策略动态选择标注实例,优先选择最有信息量的价值实例进行标注,将标注完成的数据输出至交互式训练空间模块;
群智社区接入模块:为基于手机微信的群智竞赛平台辅助模块,部署在一台独立的服务器上实现竞赛发布者、竞赛选手间相互的交流沟通功能,同时永久保存竞赛发布者发布的文字信息、文件信息和分享链接信息;通过itchat框架实现微信端与服务器端双向同步通讯,将最终的信息发往服务器端;通过Django框架将信息最终呈现到竞赛平台的指定位置;群智社区接入模块通过交互式训练空间模块,实时获取交互式训练空间模块中的模型训练日志、模型训练结果及选手在群智竞赛平台上发布的各项信息,将各项信息及时同步到选手的微信账号中;
交互式训练空间模块:为在线模型的训练模块,采用Docker技术实现对多编程语言、多函数依赖的广泛兼容,并以Docker方式部署线上模型训练环境,接收参赛选手提交的不同模型,基于服务器集群资源对不同模型进行线上训练;同时,结合主动学习方法,对海量未标注数据进行数据标注选择,将选择后的结果发往数据标注平台模块进行标注,同时接收数据标注平台模块标注后的返回结果,继续对所述不同模型进行线上训练,不断调优,最终达到符合上传者的预期。
2.根据权利要求1所述的基于群体智能的群智竞赛平台框架系统,其特征在于,数据标注平台接入模块实现过程如下:
(1)以RestfulAPI协议作为通信方式,完成交互式训练空间模块与数据标注平台接入模块的双向通信,一方面实现派发标注任务,即根据所获得的标注任务,通过标注策略将标注任务派发给标注方,其中标注策略通常为随机派发策略,即根据标注方的标注能力随机派发特定的标注任务;另一方面实现完成标注任务回传,即完成标注任务后,通过即时回传和统一回传两种方式将标注结果回传,即时回传是每完成一定批次的标注任务后以RestfulAPI的形式向交互式训练空间模块发送标注好的结果,支持交互式训练空间中的模型即时快速迭代;统一回传根据标注方的需求标注完特定量的标注任务后,直接将结果以文件形式返回给标注方;
(2)基于主动学习策略优先派发最有信息量的价值实例,接收从交互式模型训练空间模块发来的数据标注请求,优先派发主动学习选择的最有信息量的价值实例给标注方。
3.根据权利要求1所述的基于群体智能的群智竞赛平台框架系统,其特征在于,所述群智社区接入模块实现过程如下:
(1)通过itchat框架实现微信端与服务器端的双向同步通讯,一方面,从交互式训练空间模块获取信息同步至微信端,调用itchat库的auto_login函数生成微信登录二维码,竞赛举办者扫码登录微信账号,竞赛举办者在平台端发布的文字形式、文件形式、分享链接形式的信息,信息将被封装为json形式字段通过itchat库同步至微信端,方便竞赛举办者与选手进行即时交流;另一方面,从微信端同步消息至服务器端,通过在一台通讯服务器上启动群聊消息抓取程序实时获取群聊消息,根据消息类型生成数据记录并存入数据库,实现微信端消息抓取;
(2)基于Django框架完成信息存储及呈现,通过Django框架管理的postgreSQL数据库可永久保存微信端与服务器端同步的所有信息,方便选手随时查阅;在交互式训练空间模块的前端页面进行消息可视化展示时要先从数据库中查询得到相应的微信群聊消息数据,然后根据模板文件将数据信息渲染,最终以可视化的形式展示在页面上,对于交互式训练空间模块的消息可视化展示采用JavaScript与HTML语言编译开发,使用semantic-ui前端开发框架进行页面布局。
4.根据权利要求1所述的基于群体智能的群智竞赛平台框架系统,其特征在于,所述交互式训练空间模块实现过程如下:
(1)基于Docker技术实现交互式训练空间模块的搭建,模型训练空间的搭建利用Docker Hub公共仓库,它既支持竞赛举办者根据实际需求选择现有Docker镜像,又支持竞赛参与者根据自身需求定制并上传特定Docker镜像;竞赛举办者可从Docker Hub公共仓库中直接拉取现有的容器或自己部署配置特定的Docker容器以支持竞赛举办,从而实现多编程语言多运行环境的线上代码编译及运行;此外,当前交互式训练空间模块所部署的服务器已部署了机器学习相关的多种环境及依赖,方便选手直接调用;
(2)基于服务器集群资源对模型线上训练,在交互式训练空间模块中,编译运行代码的环境即为Docker容器内部对应的环境,构建模型训练空间之后,竞赛参与者得合竞赛的Docker镜像,通过在交互式训练空间模块中编辑自己举办竞赛的Competition dockerimage属性,将定制的Docker镜像设置为运行参赛者提交代码的默认运行环境,一旦有参赛选手将自己的代码及模型上传到竞赛平台,自动调用Docker的环境依赖完成代码执行及模型训练,支持CPU与GPU训练两种形式,将对硬件资源的调用封装成函数接口,支持训练集群的接入和使用;训练信息、日志和结果信息实时反馈给用户,从而方便用户对不同模型进行线上训练,不断调优;
(3)结合主动学习方法对海量未标注数据进行标注选择,其中主动学习算法以函数形式封装,支持不确定样例法(Uncertainty Sampling)、委员会问询法(Query ByCommittee),支持二元分类、多元分类及多标签分类标注问题的解决,同时支持用户自由上传多种方法、进行参数调整;向数据标注平台接入模块发出请求,基于竞赛举办者已公开的标注数据得到初步训练的模型结果,初步训练好的模型根据主动学习策略对未标注数据进行信息量评估,发布标注任务的用户自由设定期望得到的标注样例数量、标注任务截止时间和标注任务描述,通过RestfulAPI的形式向数据标注平台接入模块发出标注请求,待标注任务完成后接收返回结果并将结果加入到已标注数据集中使机器学习模型继续迭代。
5.一种基于群体智能的群智竞赛平台框架实现方法,其特征在于,步骤如下:
(1)竞赛任务发布:根据竞赛举办者所拥有的标注数据集按照竞赛规定格式制定竞赛上传压缩包zip格式至系统,压缩包至少应包括竞赛说明yaml格式、竞赛训练集csv格式、测试集csv格式、评分标准python格式四项文件;自动解压、解析压缩包格式内容,并自动创建竞赛,竞赛举办者进入创办后的竞赛窗口进一步完善竞赛信息最终发布竞赛任务;
(2)模型交互式训练空间构建:支持竞赛举办者直接使用平台现有环境、从Docker Hub中拉取现有容器及参赛选手上传个人私有容器方式;
(3)模型交互式训练:选手根据竞赛举办者的需求提交个人模型工程文件zip格式,系统会基于交互式训练空间中的环境,根据提交文件中的metadata说明对模型进行训练,训练结果直接由评分器对模型训练结果予以评分,并将结果反馈给竞赛参与者,竞赛参与者根据模型训练日志、评分结果进行模型调参调优以取得更好成绩;同时,每位竞赛举办者限制竞赛参与者提交模型结果的次数,在节省计算资源的同时鼓励选手高效调参,防止参赛选手多次提交撞测试点;
(4)向数据标注平台发出数据标注需求:在交互式模型训练模块中嵌入主动学习的模块,基于对现有已标注数据的训练选择未标注数据中最有信息量(most informative)的一批实例,模型在每次训练过程中通过不确定样例法计算所有未标注数据的不确定度(Uncertainty)、通过委员会问询法计算所有未标注数据的投票熵(Entropy)、通过深度主动学习算法计算所有未标注数据的不确定方差(Uncertainty Variance),选择最有价值的一批实例交由标注平台进行标注,标注任务的发送采用RestfulAPI的形式;
(5)标注结果返回交互式训练空间进行模型迭代:在RestfulAPI中规定了任务的完成时间、任务的说明、任务的标注方式信息,数据标注平台接入模块在接受到标注请求后会将标注任务派发;选择即时回传、统一回传两种方式将标注结果返回,其中即时回传是将标注好的数据直接发送至交互式训练空间方便模型,即时快速迭代提高效率,统一回传意味着将标注结果集中发送给数据标注需求者;
(6)群智社区服务竞赛举办者与选手:群智服务社区会记录和群智竞赛相关的信息、文件和通知,与微信端双向同步,既方便竞赛举办者及时发布通知,又方便竞赛参与者们彼此交流学习,将与竞赛相关的信息通过API请求发送至postgreSQL数据库中永久保存,并通过Django框架的render_to_response函数供竞赛举办者和竞赛参与者查阅关键信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910982763.3A CN110795072B (zh) | 2019-10-16 | 2019-10-16 | 一种基于群体智能的群智竞赛平台框架系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910982763.3A CN110795072B (zh) | 2019-10-16 | 2019-10-16 | 一种基于群体智能的群智竞赛平台框架系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110795072A true CN110795072A (zh) | 2020-02-14 |
CN110795072B CN110795072B (zh) | 2021-10-29 |
Family
ID=69440327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910982763.3A Active CN110795072B (zh) | 2019-10-16 | 2019-10-16 | 一种基于群体智能的群智竞赛平台框架系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795072B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209089A (zh) * | 2020-02-28 | 2020-05-29 | 杭州师范大学 | 一种基于Docker容器的CTF竞赛在线环境类题目安全部署方法 |
CN111445029A (zh) * | 2020-03-30 | 2020-07-24 | 北京嘉楠捷思信息技术有限公司 | 模型评估方法、装置及计算机可读存储介质 |
CN112199084A (zh) * | 2020-10-22 | 2021-01-08 | 北京计算机技术及应用研究所 | 基于Django的文本标注平台 |
CN112311605A (zh) * | 2020-11-06 | 2021-02-02 | 北京格灵深瞳信息技术有限公司 | 提供机器学习服务的云平台及方法 |
CN113066222A (zh) * | 2021-03-26 | 2021-07-02 | 杭州目光科技有限公司 | 一种通过投票码公示实现业主大会公平公开公正的投票系统 |
CN113254022A (zh) * | 2021-05-14 | 2021-08-13 | 北京车和家信息技术有限公司 | 分布式编译系统和方法 |
CN113780568A (zh) * | 2020-06-09 | 2021-12-10 | 子长科技(北京)有限公司 | 自动模型训练框架、设备、存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140314311A1 (en) * | 2013-04-23 | 2014-10-23 | Wal-Mart Stores, Inc. | System and method for classification with effective use of manual data input |
CN105205503A (zh) * | 2015-08-28 | 2015-12-30 | 重庆恢恢信息技术有限公司 | 基于众包主动学习用于检测异常图片的方法 |
CN108665072A (zh) * | 2018-05-23 | 2018-10-16 | 中国电力科学研究院有限公司 | 一种基于云架构的机器学习算法全过程训练方法及系统 |
CN109543181A (zh) * | 2018-11-09 | 2019-03-29 | 中译语通科技股份有限公司 | 一种基于主动学习和深度学习相结合的命名实体模型和系统 |
CN109902756A (zh) * | 2019-03-07 | 2019-06-18 | 重庆恢恢信息技术有限公司 | 一种基于主动学习的众包机制辅助排序方法和系统 |
US10339470B1 (en) * | 2015-12-11 | 2019-07-02 | Amazon Technologies, Inc. | Techniques for generating machine learning training data |
CN110188197A (zh) * | 2019-05-13 | 2019-08-30 | 北京一览群智数据科技有限责任公司 | 一种用于标注平台的主动学习方法及装置 |
-
2019
- 2019-10-16 CN CN201910982763.3A patent/CN110795072B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140314311A1 (en) * | 2013-04-23 | 2014-10-23 | Wal-Mart Stores, Inc. | System and method for classification with effective use of manual data input |
CN105205503A (zh) * | 2015-08-28 | 2015-12-30 | 重庆恢恢信息技术有限公司 | 基于众包主动学习用于检测异常图片的方法 |
US10339470B1 (en) * | 2015-12-11 | 2019-07-02 | Amazon Technologies, Inc. | Techniques for generating machine learning training data |
CN108665072A (zh) * | 2018-05-23 | 2018-10-16 | 中国电力科学研究院有限公司 | 一种基于云架构的机器学习算法全过程训练方法及系统 |
CN109543181A (zh) * | 2018-11-09 | 2019-03-29 | 中译语通科技股份有限公司 | 一种基于主动学习和深度学习相结合的命名实体模型和系统 |
CN109902756A (zh) * | 2019-03-07 | 2019-06-18 | 重庆恢恢信息技术有限公司 | 一种基于主动学习的众包机制辅助排序方法和系统 |
CN110188197A (zh) * | 2019-05-13 | 2019-08-30 | 北京一览群智数据科技有限责任公司 | 一种用于标注平台的主动学习方法及装置 |
Non-Patent Citations (3)
Title |
---|
52NLP: "《FlyAI算法竞赛平台初体验》", 《HTTPS://WWW.52NLP.CN/TAG/FLYAI》 * |
BANG AN等: "Deep Active Learning for Text Classification", 《ICVISP 2018: PROCEEDINGS OF THE 2ND INTERNATIONAL CONFERENCE ON VISION, IMAGE AND SIGNAL PROCESSING》 * |
北京智能工场科技有限公司: "FlyAI-竞赛指南", 《HTTPS://WWW.FLYAI.COM/MATCH_FLOW.PDF》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209089A (zh) * | 2020-02-28 | 2020-05-29 | 杭州师范大学 | 一种基于Docker容器的CTF竞赛在线环境类题目安全部署方法 |
CN111209089B (zh) * | 2020-02-28 | 2023-08-22 | 杭州师范大学 | 一种ctf竞赛在线环境类题目安全部署方法 |
CN111445029A (zh) * | 2020-03-30 | 2020-07-24 | 北京嘉楠捷思信息技术有限公司 | 模型评估方法、装置及计算机可读存储介质 |
CN113780568A (zh) * | 2020-06-09 | 2021-12-10 | 子长科技(北京)有限公司 | 自动模型训练框架、设备、存储介质 |
CN113780568B (zh) * | 2020-06-09 | 2024-05-14 | 子长科技(北京)有限公司 | 自动模型训练系统、设备、存储介质 |
CN112199084A (zh) * | 2020-10-22 | 2021-01-08 | 北京计算机技术及应用研究所 | 基于Django的文本标注平台 |
CN112311605A (zh) * | 2020-11-06 | 2021-02-02 | 北京格灵深瞳信息技术有限公司 | 提供机器学习服务的云平台及方法 |
CN112311605B (zh) * | 2020-11-06 | 2023-12-22 | 北京格灵深瞳信息技术股份有限公司 | 提供机器学习服务的云平台及方法 |
CN113066222A (zh) * | 2021-03-26 | 2021-07-02 | 杭州目光科技有限公司 | 一种通过投票码公示实现业主大会公平公开公正的投票系统 |
CN113254022A (zh) * | 2021-05-14 | 2021-08-13 | 北京车和家信息技术有限公司 | 分布式编译系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110795072B (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795072B (zh) | 一种基于群体智能的群智竞赛平台框架系统及方法 | |
RU2745632C1 (ru) | Серверное устройство автоматизированного ответа, оконечное устройство, система ответа, способ ответа и программа | |
WO2017050204A1 (zh) | 用于空港服务的移动服务终端、系统及数据处理的方法 | |
CN104809632B (zh) | 一种基于模板的动态广告的生成方法和装置 | |
KR100446640B1 (ko) | 유무선 네트워크를 이용한 실시간 지식정보 검색 시스템과실시간 지식정보 검색방법 및 이에 대한 지식정보의등록관리 방법 | |
US20120011006A1 (en) | System And Method For Real-Time Analysis Of Opinion Data | |
CN108021929A (zh) | 基于大数据的移动端电商用户画像建立与分析方法及系统 | |
CN108551766A (zh) | 用于与服务提供者的会话建立的自然语言处理 | |
CN109684530B (zh) | 基于web管理与手机小程序应用的信息推送服务系统 | |
CN107609153A (zh) | 一种图书管理系统 | |
KR20160055930A (ko) | 연속적인 소셜 커뮤니케이션에 사용되는 콘텐츠를 능동적으로 구성하기 위한 시스템 및 방법 | |
CN112104642B (zh) | 一种异常账号确定方法和相关装置 | |
US20210382609A1 (en) | Method and device for displaying multimedia resource | |
US20170277798A9 (en) | System for finding website invitation cueing keywords and for atrribute-based generation of invitation-cueing instructions | |
CN102347985B (zh) | 个性化云服务网报系统 | |
CN102053960B (zh) | 依群需特征构建物联互联双网快准搜索引擎的方法及系统 | |
CN111369175A (zh) | 基于大数据的企业产品链分析纠正反馈系统 | |
CN102298621B (zh) | 基于关注度的同源信息搜索引擎聚合显示方法的获取网页用户关注度PageFocus的系统 | |
CN108718424A (zh) | 基于移动终端的二维码信息共享方法 | |
KR100950053B1 (ko) | 사용자지정 데이터가 반영된 특화 광고컨텐츠 제공 시스템 | |
KR100929563B1 (ko) | 사용자지정 데이터가 반영된 특화 사용자손수제작컨텐츠제공 시스템 | |
Joshi et al. | A Framework Optimization in Social Media using Xampp: A Systematic Approach | |
Lin et al. | [Retracted] Design and Communication of City Brand Image Based on Big Data and Personalized Recommendation System | |
CN108460581A (zh) | 一种信息反馈方法及装置 | |
KR100780446B1 (ko) | 유무선 연동 실시간 설문조사방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |