Simon Shi的小站

人工智能,机器学习, 强化学习,大模型,自动驾驶

0%

[toc]

BP_MLL

2006 《Multi-Label Neural Networks with Applications to Functional Genomics and Text Categorization》Min-Ling Zhang and Zhi-Hua Zhou. IEEE Transactions on Knowledge and Data Engineering 18, 10 (2006), 1338–1351.

Architecture

1、方差损失

global error
$$
E = \sum_{i=1}^{m}E_i
$$
m multi-label instances .

Q lables
$$
E_i = \sum_{j=1}^{Q}(c_j^i - d_j^i)
$$
$c_j^i = c_j(X_i)$ is the actual output of the network on xi on the j-th class.

$d^i_j$ is the desired output of $X_i$ on the j-th class. 取值为1,-1

=》 只关注单个标签的识别,没有考虑类别之间的相关性,真的标签要大于假的标签的值。

本文通过重写全局错误函数,适当地解决了多标记学习的这些特点:

2、论文自定义指数损失函数
$$
E = \sum_{i=1}^{m}E_i = \sum_{i=1}^{m} \frac{1}{|Y_i||\overline{Y_i}|}
\sum_{(k,l) \in Y_i \times \overline{Y_i}} \exp(-(c_k^i - c_l^i))
$$
在第i个误差项中的求和考虑了任意一对标签的输出与另一对不属于xi的标签的输出之间的累积差,然后根据可能的对的总数进行归一化,

3、思考我的对数损失函数。

​ 采用对数损失函数sigmoid的交叉熵的形式。

softmax_cross_entropy_with_logits: labels 中每一维只能包含一个 1

sigmoid_cross_entropy_with_logits: labels 中每一维只能可以含多个 1

– 所以此论文采用指数损失函数的原因是:

1、out值取值范围【-1,1】 tanh

2、对数损失函数不成熟当时?作者不熟

3、其它

评估

hamming loss

错误标签的比例 [hamming_loss],属于某个样本的标签没有被预测,不属于
该样本的标签被预测属于该样本。
$$
\text{hloss}S(h) = \frac{1}{p}\sum{i=1}^{p}\frac{1}{Q} |h(X_i\Delta Y_i|
$$

one-errors

预测概率值最大的标签不在真实标签集中的次数。 [zero_one_loss]
$$
\text{one-errors}S(f) = \frac{1}{p} \sum{i=1}^{p} [[argmax_{y \in \mathcal{Y}} f(X_i, y)] \notin Y_i]
$$

coverage 覆盖误差

[coverage_error] 表示所有样本中排序最靠后的真实标签的排序均值。
$$
\text{coverage}S(f) = \frac{1}{p} \sum{i=1}^{p} \text{max}_{y\in Y_i}
rank_f(X_i, y) - 1
$$

rank loss 排名损失

[label_ranking_loss] 表示相关标签的预测概率值比不相关标签预测概率值小的次数。
$$
\text{rloss}S(f) = \frac{1}{p} \sum{i=1}^{p} \frac{|D_i|}{|Y_i||\overline{Y_i}|}
\
D_i = {(y1, y2)| f(x_i,y1) \leq f(x_i, y2), (y1, y2) \in Y_i \overline{Y_i} }
$$

average precision 平均精度损失

[average_precision_score] 表示标签高于某个特定标签 y∈ Y 的统计概率。
$$
avgprec_S(f)= \frac{1}{p} \sum^{p}{i=1}
\frac{1}{\overline{Y_i}} \sum
{y \in Y_i}
\frac{ L_i}{ rank_f(x_i, y) }
$$

熵;表示随机变量不确定性的度量。

随机变量X的熵定义:
$$
H(X) = -\sum_{i=1}^{n} p_i \log(p_i)
$$
熵只依赖于X的分布,而于X的取值无关。所以X的熵也记作H(p)
$$
H(p) = -\sum_{i=1}^{n} p_i \log(p_i)
$$
熵越大,随机变量的不确定性越大。
$$
0 \leq H(p) \leq \log n
$$
当随机变量只取0,1时,X的分布为
$$
P(X=1)=p, P(X=0)=(1-p), 0 \le p \le 1
$$
熵为
$$
H(p) =-p \log_2 p - (1-p) \log_2(1-p)
$$
二元信源的熵:

1570765445525

当P=0/1时,H(p) = 0 , 随机变量完全没有不确定性。

多标签机器学习

[toc]

《A Tutorial on Multilabel Learning 》 download pdf

EVA GIBAJA, SEBASTIAN VENTURA

西班牙 科多巴大学

this article presents an up-to-date tutorial about multilabel learning that introduces the paradigm and describes the main contributions developed. evaluation measures, fields of application, trending topics, and resources are also presented.

本文介绍了一个关于多标签学习的最新教程,介绍了该范例,并描述了已开发的主要贡献。还介绍了评估措施、应用领域、趋势主题和资源。

categories and subject descriptors: h.2.8 [database management]: database applications—data mining; h.3.3 [information storage and retrieval]: information search and retrieval—retrieval models; i.2.6 [artificial intelligence]: learning—concept learning, connectionism and neural nets, induction; i.7.5 [document and text processing]: document capture—document analysis; i.4.8 [image processing and computer vision]: scene analysis—object recognition; i.5.2 [pattern recognition]: design methodology—classifier design and evaluation; i.5.4 [pattern recognition]: applications—computer vision, text processing

类别和主题描述符:

1
2
3
4
5
6
7
H.2.8[数据库管理]:数据库应用-数据挖掘;
H.3.3[信息存储和检索]:信息搜索和检索-检索模型;
i.2.6[人工智能]:学习-概念学习、连接论和神经网络,归纳;
I.7.5[文件和文本处理]:文件捕获-文档分析;
I.4.8[图像处理和计算机视觉]:场景分析-目标识别;
I.5.2[模式识别]:设计方法-分类器设计和评价;
I.5.4[模式识别]:应用-计算机视觉、文本处理

1 introduction

分类是数据挖掘的主要任务之一。

一组特征,一个相关类的识别。

如今,人们正在考虑越来越多的分类问题,例如文本和声音分类、语义场景分类、医学诊断或基因和蛋白质功能分类,其中一个模式可以同时具有多个标签。

single-label (classical supervised learning (经典监督学习))

multilable ( Multilabel Learning (MML))

除其他问题外,本文的目的是包括问题的正式定义、适用MLL的领域、最近几年提出的主要建议的最新摘要、评估措施和资源。

outline

Section 2, the MLL problem is formally defined.

Section 3, some aspects related to the development and evaluation of MLL models are described.

Section 4, The main approaches developed in the literature are presented

Section 5 describes findings on empirical comparisons between MLL algorithms.

Section 6 describes the maindomains where MLL has been applied,

finally, new trends in MLL (Section 7) and a set of conclusions are presented.

The article also includes an Appendix with resources
(software, datasets, etc.) for MLL.

2.MML

MLL includes two main tasks:

​ Multilabel Classification (MLC)

​ Label Ranking (LR).

​ Multilabel Ranking

1570712616245

3. EVALUATION OF MULTILABEL MODELS (ML models 评估)

3.1 evaluation metrics(评价指标)

​ 3.1.1 metrics to evalute bipartitions 评估双分区的指标

​ two approches:

​ lebel-based (macro, micro)

​ example-based (0/1 subset accuracy=classifification accuracy or exact match ratio )
$$
B_{macro}=1/q \sum_{i=1}^{q}B(tp_i, fp_i, tn_i, fn_i)
$$

$$
B_{micro} = B(\sum_{i=1}^{q}tp_i, \sum_{i=1}^{q}fp_i, \sum_{i=1}^{q}tn_i, \sum_{i=1}^{q}fn_i)
$$

$$
0/1 -subset- accuracy = 1/t \sum_{i=1}^{t}[Z_i= Y_i]
$$

$$
Hamming loss = 1/t \sum^{t}_{i=1} 1/q|Z_i \Delta Y_i|.
$$

​ 3.1.2 metrics to evaluate rankings评估排名的指标

​ One-error

​ Coverage

​ Ranking loss

​ Average precision

​ Margin loss

​ IsError

​ Ranking error

3.2 Partitioning Datasets(分区数据集)

第一个通过考虑标签的不同组合来分割分区。

第二项建议是一项宽松的解释,其目的是维持每个标签的正面和负面例子的分布。

两种方法,都优于随机采样。

3.3 Statistical Tests

3.4 Complexity

标签空间的高纬度,从两种方式挑战MLL方法的效率。

1-训练的计算成本受标签数目影响

2-分类阶段也会受到分类器数量的影响,而且会花费相当长的时间。

内存需求也是要考虑的

4. MULTILABEL LEARNING METHODS (MLL方法)

  • problem transformation methods : 将多标签问题转化为一个或多个单标签问题

  • algorithm adaptation methods :扩展SingleLabel算法以直接处理多标签数据

1570678847518

4.1. Problem Transformation Methods

问题转换方法: 把多标签问题,转换成单独的单标签问题。

ranking via single-label learning (SLR )

Binary Relevance (BR) method

Label Powerset Methods

Pairwise Methods (PW).

Transformations for Identifying Label Dependences.

4.2. Algorithm Adaptation Methods

4.2.1 Decision Tree

q classes,
$$
entropyML(S)=\sum^{q}_{i=1}P(\lambda_i)log(P(\lambda_i)) + (1-P(\lambda_i))log(1-P(\lambda_i))
$$
4.2.2 SVM (Rank-SVM)

A set of q linear classifiers, $ {h_j(X) = <w_j, X> + b_j = w^T_j · X + b_j | 1 \leq j \leq q }$

$$
\frac{min}{(x_i, Y_i) \in S} \frac{min}{(y_i, y_k)\in Y_i \times \overline{Y_i}} \frac{<w_j - w_k, X_i> + b_j-b_k}{||w_j - w_k||}
$$
4.2.3 Instance Based
$$
y_j = \begin{cases}
1 & \text{if} & P(c_j|y_j = 1)P(y_j = 1) \geq P(c_j|y_j = 0)P(y_j = 0) \
0
\end{cases}
$$

4.2.4 Neural Network
$$
E = \sum_{i=1}^{m} \frac{1}{|Y_i||\overline{Y_i}|} \sum_{(j,k)\in Y_i \times \overline{Y_i}} exp(-(o_j^i - o_k^i ))
$$
4.2.5. generative and probabilistic models 生成和概率模型
$$
Z = argmax_{Y\subseteq L}P(Y) \Pi_{w\in X} \sum_{\lambda \in Y} \gamma_{\lambda}^Y P(w|\lambda)
$$

4.3 Ensemble of MLL Method

4.4 Thresholding Strategies (策略阈值)

  1. One Threshold (OT): 指定一个threshold,例如0.5,或者根据验证集tune一个
  2. RCUT: 根据top k ranking,选择top-k作为预测值。(直接指定,或根据验证集tune,有误差)

More thresholding approaches can be found in Tang et al. [2009].

5. EXPERIMENTAL COMPARISONS OF MLL METHODS (MLL方法实验对比)

Madjarov et al. 2012 ,12 MLL methods, 16 evaluation measures, and 11 benchmark datasets 。

SVM在大量特征,较小数据集上表现更好。而基于树的方法在较大的数据集中表现得更好。ML-kNN性能在各个领域均比较差。

Chekina et al. 2011 研究了11个算法,12个数据集,18种评估方法。HOMER, BR, ECC, and EPS obtained the best predictive performance results.

这些研究的结果说明了在开发新算法时应该选择哪种算法或必须考虑哪些算法。最终的决策将取决于所面临的问题和必须满足的要求:效率、灵活性、预测性能、模型的可解释性等。

6.APPLICATIONS OF MLL (应用)

Text Categorization

  • Detection of emotions in music
  • Tag suggestion
  • Medical coding
  • IR from narrative clinical text
  • Economic activities classification
  • Patent classification
  • E-mail filtering
  • Classifying news sentences into multiple emotion categories
  • Aeronautics reports
  • Query categorization

Multimedia

  • Automatic image and video annotation
  • Face verification consists of determining
  • Object recognition
  • Detection of emotions in music
  • Speech emotion classification

Biology

Chemical Analysis

Drug discovery.

Vision-Based Metal Spectral Analysis.

Adverse Drug Reactions (ADRs)

Social Network Mining

Collective behavior learning.

Social networking advertising

Automatic annotation.

Other Applications

Automatic annotation.

Direct Marketing

Medical Diagnosis

Dimensionality Reduction

Label Dependence

Active learning

Multi-instance multilabel learning (MIML)

Multiview learning

Multitask learning (MTL)

Hierarchical multilabel classification (HMC)

Think

训练方法 + 损失函数

评估方法

[toc]

计算机视觉分类:

目标识别,应该是Object Recognition。 (分类)

目标检测,应该是Object Detection (定位,检测)

目标分割,应该是Object Segmentation,(语义分割,实例分割)

目标追踪,应该是Object Tracking

计算机视觉旨在识别和理解图像/视频中的内容,包含四大基本任务:

分类(图a)、

定位、检测(图b): Faster R-CNN和基于YOLO的目标检测的算法

语义分割(图c)、

实例分割(图d) :Mask R-CNN

img

reference:

zhihu

csdn

[toc]

Back

JTAKQ987 x 4 = 32

Rule:

​ Grand(J王牌)

​ Null (无王牌)

​ Suit(J王牌,Suit王牌)

https://www.pagat.com/schafkopf/skat.html

J A 10 K Q 9 8 7

2 11 10 4 3 0 0 0

Skat: 《Doctor Paper》

《2011 [Skat] Policy Based Inference in Trick-Taking Card Games 》 【博士论文】Jeffrey Richard Long

1
2
3
4
5
6
7
8
9
10
三个贡献

【4】专家级计算机SKAT-AI (组合游戏树搜索、状态评估和隐藏信息推理三个核心方面的组合来实现这一性能)
《M. Buro, J. Long, T. Furtak, and N. R. Sturtevant. Improving state evaluation, inference, and search in trick-based card games. In Proceedings of the 21st International Joint Conference on Artificial Intelligence (IJCAI2009), 2009. 》

【26】次优解决方案方法的框架
《 J. Long, N. R. Sturtevant, M. Buro, and T. Furtak. Understanding the success of perfect information monte carlo sampling in game tree search. In Proceedings of the 24th AAAI Conference on Artificial Intelligence (AAAI2010), 2010.》

【27】一种简单的自适应对手实时建模技术。
《 J. R. Long and M. Buro. Real-time opponent modelling in trick-taking card games. In Proceedings of the 22nd International Joint Conference on Artificial Intelligence (IJCAI2011), page To appear, 2011. 》
  • 介绍Best Defense Model的构建(三个假设)【Contract Bridge】

    • 对手(Miner)是完全信息的,我们(Maxer)是非完全
    • 对手在Maxer选择之后play
    • Maxer采用纯策略,不适用融合策略

    this results in an algorithm for solving the best defense form of a game which frank and basin term exhaustive strategy minimisation(穷举策略最小化).

SKAT:

DDS(Double-Dummy Solver ): MC simulation + ab-search

  • 采用PIMC算法的直接实现来构建的 (很大程度上)
  • 以及加入了AB算法(对alpha-beta搜索组件的两个主要增强):
    • 准对称缩小(quasi-symmetry reduction ),是Ginsberg的分区搜索的一种改编,它将搜索状态组合在一起,这些状态“几乎”等价
    • 启发式对抗(adversarial heuristics )
  • k-mean for bidding

UCT:

Poker

CFR是一个离线过程,它在游戏的每个信息集中学习移动概率。

迭代算法。

当到达游戏的终端状态时,树中的每个节点都会根据程序对实际执行策略的后悔程度来更新,该策略与每个信息集中的最佳可用移动相比较。

这一过程将收敛到纳什均衡(2人)

CFR =》an enormous table of move probabilities,

Multi-player

  • 桥牌

    在文献中,桥牌通常被视为一种两人游戏,但实际上它是由四位不同的玩家玩的;

    对双玩家游戏的抽象是有意义的,因为玩家是在两个团队中结盟的,而对游戏的所有现有方法都是基于游戏的完美信息模型,在那里我们忽略了两个伙伴不一定知道对方的事实,

    因此实际上并不像他们是一个实体那样玩。

  • Skat

    虽然Cardplay阶段可以(而且已经)被视为一个两人游戏(this is interesting? how?),但在biding阶段,每个玩家都是为自己而战。

    更重要的是,vonstengel和koller[47]已经显示,在非合作的零和团队游戏中,一个具有共同回报但不同信息的agent小组与一个无所不知的对手竞争,最好的回报是,团队玩家可以希望得到团队-MaxMin平衡。

Kermit

并且搭建了当时最强Skat AI ‘Kermit ‘ 论文介绍了Kermit 的信息有:

  • Card Play [采用PIMC]: Perfect Information Monte Carlo Search for Cardplay
  • 估值:State Evaluation for Bidding
  • 推理:Inference
  • Ai水平对比:Kermit Versus the World: Experimental Results

4.1 Perfect Information Monte Carlo Search for Cardplay

1569227991203

【23】实现了一系列的card game and skat move 排序启发式算法。

eg: 相等牌力出牌分组,单张7,8 出一张即可

4.1.1 Perfect Information Search Enhancements

​ 采用ab-search和启发式算法提升搜索树的性能;– 可采用NN直接拟合在Sates下的action的选择

4.1.2 Search Payoffs

相反,我们采用一系列零窗口搜索来缩小搜索空间。零窗口Alpha-beta搜索是将Alpha和Beta分别设置为值V和V1的一个。使用这样的窗口执行搜索将确定该位置的真实值是否大于或小于-或-等于V

在Kermit的构造中,我们提出了直接逼近不完全信息状态值的方法,并将其应用于博弈树搜索博弈的竞价阶段。

  • 在非完备博弈数据可以得到的情况下,利用监督学习技术可以直接估计评价参数。

  • 否则,就有可能从完善的信息评估中引导不完美的信息评估。{使用Cardplay方法(如pimc搜索)}

4.2 State Evaluation for bidding

作者实验了PIMC的胜率评估结果,均比实际结果差,因此转为采用static evaluation

1569247299838

4.2.1 Learning Table-Based State Evaluations

the generalized linear evaluation model (GOEM) framework [3]广义线性评价模型框架[3]
$$
e(s) = l (\sum_i w_i · f_i(s) )
$$

where $e(s)$ is the state evaluation, $l$ is an increasing and differentiable link function, $w_i \in R$ are
weights and $f_i(s)$ are state features.

通常选择:$l(x)=x$(线性回归) 和 $ l(x) = 1/(1+exp(-x))$ (logitic 回归)

the resulting expressiveness of $e$ may be low ; (因为这样e的结果会比较小,影响不够),–> 采用table-based features
$$
f(s) = T [h_1(s)] … [h_n(s)]
$$

其中索引函数$h_j:s -> {0,.., n_j−1}$ 计算状态 $s$ 的属性,并使用索引向量从多维表T中检索值。

基于表的特性的优点是表值可以很容易地从有标签的样本中学习,并且状态评估速度快。

4.2.2 Application to Skat Bidding

采用 10+2 evalution $e_g(h, s, p)$ 估计胜率

g: game type

h: ten cards

s: discarded skat

p: position in {0, 1, 2,}

Kermit为什么可以采用PIMC ?

Kermit DDZ
叫分 叫分复杂(分多轮,不同的计分规则) 叫分简单
play 游戏规则相对单一,10轮 – 游戏树小 每局游戏1-52轮 –游戏树大
每人每轮有且只能出1张牌。–状态估值方便 每轮可出1-20张牌,–对状态的估值影响大
– 隐藏信息相对少 –隐藏状态多

4.3 inference

以前的工作都不涉及在游戏中对对手牌的推断。

比较接近的是Ginsberg在桥牌【15】中的推理研究方,Richards and Amir in Scrabble

  • Ginsberg的推理方法基本没有资料说明如何实现
  • Scrabble的推理,使用了Bayes’ Rule 估计P(leave|play);P(leave)是对手的牌上剩下的字母的先验概率,通过分析计算得到。

4.3.1 Inference Formulation

非完全信息的推理有两个问题:

  • 计算大量的假设世界,很难
  • 计算机只可以生成确定性的概率0/1,这点导致打发不同玩家时,不堪一击

解决方法:

  • 人类对局数据学习
  • 推广公式,不仅仅对World推理,加入高纬特征的(eg 特点花色的牌张数,多少个大牌)

其中,$W_i^{‘}$代表32张卡的配置,在竞价阶段,通过考虑所有的扑克牌以及独奏者的卡片,从wi重构。

F: 从这些完整的32张卡配置中提取出对手竞投的个人手的功能,然后对这些手的出价进行评估。

W, R, T

features:
Suit length $\in {0…7}$: The number of cards held in each of the four suits, }~♠|.
Jack constellaion $ \in {0…15}$: The exact configuration of the player’s Jacks.
Ace count $ \in {0…4}$: Number of Aces held.
High card count $ \in {0…8}$: Number of Aces and Tens held.
King Queen count $ \in {0…8}$: Number of Kings and Queens held.
Low card count $ \in {0…12}$: Number of 7s, 8s and 9s held.

5. Why PIMC ?

PIMC的缺陷failing

例如,我们有希望使用UCT算法,这种算法彻底改变了计算机围棋的世界。然而,Kermit的性能,使用了第4章描述的相对直截了当的pimc实现,以及它对其他计算机播放器的令人信服的控制,包括一个使用UCT方法的计算机播放器,使得我们重新考虑了这个目标。我们在本章中更深入地理解了pimc搜索的优点和弱点,以及它在应用的领域中的工作原理。

众所周知,PIMC搜索作为一种算法不会产生纳什均衡或任何其它具有可证明的游戏理论属性的策略。Frank and Basin 是第一个精确地识别并形式化这一天然的错误, pimc搜索的本身缺陷导致的[9]。从根本上说,这些错误是由于游戏的完美信息变体的重复播放不能真实地捕捉原始游戏的所有不完美的信息方面而发生的。

两种错误,并且PIMC无法解决的。

1、strategy fusion

策略融合是因为完全信息蒙特卡罗搜索(错误地)认为任何特定的世界选择最佳策略是奢侈的,而在现实中,存在着由多个不同的完美信息场景组成的情况(或信息集)。

1569379853117

pimc搜索将认为它总是可以在节点(A)和(B)上做出正确的决定,因此这两个节点的根移动看起来都是胜利。

然而,在现实中,Maxer玩家是混淆在世界1和2之间,实际上可能会在树的歧义问题方面犯错。

2、non-locality

1569379869506

非局部性是一个事实的结果,在一个完美的信息博弈中,一个游戏树节点的值仅仅是它的子树的一个函数,因此节点的值完全由从其子代开始的搜索来确定。(完全信息博弈,节点值来自子节点的搜索来确定)

在不完美的信息游戏中,节点的值可以依赖于不包含在其子树内的游戏树的其它区域,主要是由于对手的能力来引导游戏朝向树的区域,他知道(或至少猜测)对于他来说是有利的,使用他拥有但我们不拥有的私人信息。此现象在树中可能的远程节点之间创建非本地依赖关系。(在游戏树远程节点之间创建非本地依赖)

5.2 Success

5.2.1

在比赛的前七招中,对于我们的首发位置,我们将使用人类玩的真正的滑雪板游戏,此时比赛结果仍然不确定的(也就是说,双方都还没有获得足够的牌分来赢得比赛)。

  • Leaf Correlation, lc

    给出所有兄弟终端节点具有相同回报值的概率。

    Low lc 表示:一种游戏,玩家几乎总是有可能在很晚的时候影响他们的回报。

  • Bias,b,

    determines the probability that the game will favor a particular player over the other. with very high or very low bias, we expect there to be large, homogeneous sections of the game, and as long as a game-playing algorithm can find these large regions, it should perform well in such games.

    确定该游戏比另一位玩家更倾向于某一特定玩家的概率。在极高或很低的偏倚下,我们期望游戏中会有大的、同质的部分,只要游戏算法能够找到这些大区域,它就应该在这样的游戏中表现良好。

  • Disambiguation factor, df,

    根据树的深度确定玩家信息集中节点数量缩小的速度

    Skat每次播放都会显示一张卡片,这意味着每个信息集中的状态随着游戏的继续而急剧缩小。

    相反,在像Poker这样的游戏中,几乎没有私密信息被直接显示,直到游戏结束。

    我们可以通过考虑玩家的信息集合在每次玩家移动时收缩的程度来确定这个因素。

5.3 Methodology

5.3.1 Measuring Properties in Real Games

5.4 Experimental Setup

5.4.1 Synthetic Trees

5.4.2 Experiments on Synthetic Game Trees 合成游戏树实验

5.4.3 Real Games

5.5 结论

在本章中,我们对简单、合成的游戏树进行了实验,以便深入了解为什么完美的信息蒙特卡罗搜索在各种实际领域中如此成功,尽管其理论上存在缺陷。我们定义了这些合成树的三个属性,它们似乎是PIMC搜索性能的良好预测因子,并证明这些属性是如何在真实游戏中测量的。

对简单,合成游戏树实验,定义了合成树的三个属性– 对PIMC的搜索性能良好因子

  • 演示了这些属性是如何在真实游戏中得到的。

6、推理

inference, as we have taken it, is the problem of mapping a series of observed actions taken by a player into a probability distribution over that player’s private information. a reasonable and intuitive question to ask is whether inference is nothing more than an attempt to build a model of a particular opponent. certainly, since inference attempts to derive meaning from an opponent’s actions, it is inherently dependent on the opponent’s policy for choosing those actions — in other words, her strategy. and if the opponent does not act as we expect, could our inferences cause us to make more mistakes by misleading us?

正如我们所做的那样,推理是将玩家所采取的一系列观察到的行为映射成对该玩家私人信息的概率分布的问题。一个合理而直观的问题是,推论是否仅仅是试图建立一个特定对手的模型。当然,由于推理试图从对手的行为中获得意义,它本质上依赖于对手的政策来选择那些行动-换句话说,就是她的策略。如果对手不按我们的预期行事,我们的推论是否会误导我们,使我们犯更多的错误?

6.2 Inference and Non-locality

Non-locality:非局部性的出现是因为对手可能能够利用他们的私人知识,将游戏指向对她更有利的游戏树的部分。

推理是捕捉对手移动所传递的信息的过程,而同样的道理是,意识到我们自己的动作传递给对手的信息。

假设我们有一个神奇的黑匣子,它可以在一个不完美的信息游戏的任何阶段,在游戏中的所有隐藏信息(即非公共信息)上产生一个精确的概率分布。我们将证明,我们可以使用这样一个盒子来寻找一个游戏g的子树的最优策略,而不需要考虑g的整个博弈树。

Define:

H: public History

Box(G, H, σ): Game + History -> a set of possible states S, a strategy profile σ for all players in Game G; 生成P(s) for all $s \in S$ 校正后验概率分布, 在所有可能的状态S上。

6.3.2 Considerations in inference Design

PIMC search would exhaustively examine all worlds, and weigh the result of each world’s analysis by the world’s probability. When the state space is still large, this approach is not feasible if the analysis of each world is time-consuming, as is the case when using alpha-beta search on perfect information worlds.

7:

对抗环境的越复杂,其随机性,不确定性

考虑不同的对手模型变得更加重要,原因有两个:

第一个原因是这些环境中的最佳策略常常是过度防御的

第二个原因是在不完善的信息环境中,根据其他代理的动作推断隐藏状态变量通常是有帮助的。对于某些类型的推理(尤其是我们在第6章中讨论的不正确的推断),这需要一个准确的模型,说明Agent在环境中的行为方式。因此,合适的对手模型允许代理明确地利用对手弱点,并且通过对隐藏信息的优良推断来改进其自己的决策。

8

在我们建立一个强大的电脑滑板运动员和了解围绕这一目标的问题的过程中,我们调查了一些未能达到我们最初对它们的期望的技术。对于这些想法中的一些,也许是因为它们完全没有价值。对其他人来说,滑雪板可能根本不是正确的领域,或者他们缺少一些关键的完善。在这一章中,我们将记录我们认为最有趣的技术。

8.2

与其预测玩家将在每个世界中进行最优的完美信息移动,我们还会预测他们将进行PIMC搜索在他们的位置上所建议的移动。

引用

  • 【9】对不完美信息博弈的完美信息蒙特卡罗搜索(或称为重复最小化)方法的广泛批评。

  • 【29】描述使用神经网络预测完美信息(或double-dummy )桥接问题的结果,并报告与某些类别交易的人类专家相当的准确性。

  • 【35】最强桥牌AI-Ginsberg’s GIB {加权MC样本weighted Monte Carlo samples }

    对手牌的推理研究

  • 【15】work by Ginsberg in bridge ,[brideg ai GIB] : 对桥牌中对手牌的推理研究

  • 【32】Richards and Amir in Scrabble


《2009.3 Improving State Evaluation, Inference, and Search in Trick-Based Card Games》

https://www.cs.du.edu/~sturtevant/papers/skat.pdf

  • 贝叶斯公式

  • KI Kermit infrence

《AAAI2010 Understanding the success of perfect information monte carlo sampling in game tree search》

《Real-time opponent modelling in trick-taking card games (IJCAI2011) 》


14《2019.3 Improving Search with Supervised Learning in Trick-Based Card Games》

https://arxiv.org/pdf/1903.09604.pdf

  • trick-taking card game,状态采样和评价的两步过程被广泛用于拟合移动值

  • 最近在扑克牌游戏ai中的工作主要集中在改进评估算法上。

    本文,重点研究了采样对玩家力量的影响,并提出了一种新的方法来采样给定移动历史的更真实的状态。

  • 采用DNN预测卡片的位置 (Card Location Inference = CLI)

1569488822453

1569488988224

图1:推理网络体系结构。所示的是一种特定于滑板的架构,用于预测所有32张卡的卡前位置。每一张牌可以在四个可能的位置之一(每个玩家的手和Skat)。输出目标在每个玩家手中有10张卡片,剩下的2张在滑板中。

四个可能的位置:玩家1,玩家2,玩家3,landlord

NN输入特征:

Lead Cards:First cards played

Sloughed cards: 掉牌是指当一名玩家不能效仿,但也不做一张王牌时使用的牌。

Void suits:游戏规则,是无suit规则

Bid, 分type和Magnitude

1569491049415

TSSR 推理性能评估


18《2019.5 Learning policies form human data for skat》

https://arxiv.org/pdf/1905.10907.pdf

  • 预测隐藏牌

  • NN 训练pre-cardplay 和cardplay

摘要大型不完全信息博弈中的决策是很困难的。由于最近在扑克方面的成功,反事实的遗憾最小化(CFR)方法在这些游戏中一直处于研究的前沿。然而,大多数大型游戏的成功都是通过使用前向模型和强大的状态抽象来实现的。在桥牌或滑雪板之类的纸牌游戏中,大量的信息集和无法在不完全确定状态的情况下推进模拟的能力使前向搜索成为问题。此外,由于每个参与者的精确持有量直接影响移动值,因此状态抽象可能特别难以构建。

abs:

Trick-taking类游戏的挑战:

  • Large info set

  • 没有确定性的状态下,无法前向搜索

  • 状态抽象壁垒– 参与者的精确手牌,影响大

本文实现

使用DNN实现了一个SOTA 系统(model-free),对bidding和game declaration(叫分,游戏类型等)

CardPlay 比最佳的Search-Base算法要弱

还尝试了RL,但是应该进展不大。

Pre-CardPlay Train

policy + value

每种GameType训练一个单独的NN(Null and Null Ouvert 除外)

NN- Input/Output。数据集大小

总共10个model,10个数据集。每个模型的输入特征都是Table III的特征组合而成。

例如:Bid/answer 模型的输入特征2个:是 Player Hand + Player Position。

1569552772685

2 additional Network

​ Hand/Pick UP phase

​ Declare phase

​ : 用于近似于行动的价值。

DNN架构

1569551486523

人类数据训练的MLV方法提供了新的SOTA bot for Skat pre-cardplay

CardPlay Train

same network architecture used for pre-cardplay NN

训练总计6个神经网络。

defender and soloist versions of Grand, Suit, and Null.

NN输入特征

1569550543360

数据集大小

6个模型的数据集,对应的是2个位置的三中游戏规则

  • Grand
  • suit
  • Null

1569550564693

性能对比

1569549751076

Conclusion

在这篇论文中,我们已经证明了玩纸牌前策略可以从人类游戏数据中学习,并且它的表现要比以前的最先进的’Kermit‘播放要好得多。

bidding policy (采用DI-M) 比 Kermit差1.35TP/G; (DI-S更是相差4.14TP/G)

The best overall full network based player was MLV.925+C,

Future Work


00《2019 Policy Based Inference in Trick-Taking Card Games》

http://ieee-cog.org/papers/paper_123.pdf

https://arxiv.org/pdf/1905.10911.pdf

  • 评估信息集的状态概率

  • 使用玩家模型,推理状态概率

Abstract

卡牌游戏的特点是大量的私人信息,慢慢地被揭示通过一长串的行动。这使得历史记录在动作序列长度中呈指数增长,并创建了非常大的信息集。因此,这些游戏变得太大,无法解决。为了处理这些问题,许多算法采用推理,估计信息集中的状态概率。在本文中,我们演示了一种基于策略的推理(Pi)算法,该算法使用玩家建模来推断我们处于给定状态的概率。我们在德国特技拍摄游戏SKAT中进行实验,其中我们表明,与以前的工作相比,该方法极大地改进了推理,并且当它被应用到其确定的搜索算法中时,增加了现有技术的SKAT AI系统Kermit的性能。

1-Introduce

Determinized search algorithm,

推理是非完备信息的中心概念。

’冷扑大师‘ CFR的超越人类玩家的Ai,他们没有证明对trick-based 游戏是有用的。

这是因为信息集的非常大的大小、大量的竞价和很长的Cardplay序列,创建表达抽象的困难。

虽然这些长序列使游戏变得太大以至于无法解决,但是它们也慢慢地揭示其他玩家的私人信息,从而推断期望的方法。

本文: 利用对手模型的推理。

特别是,我们培训关于受监督的人类数据的政策,并利用它们来根据对手和合作伙伴以前的每一次行动推断他们的私人信息。

Outline:1-Skat rule, 2.Opponent Model trained in human data, 3. conclude, idea for future research。

2- 背景

KI: 使用一种基于表格的技术,根据对手的出价和声明,对状态采样进行偏置。这种方法只解释了有限数量的可用状态信息,而忽略了当对手玩特定卡片时发生的重要推理机会。这一推断将称为Kermit推断(Ki)。

Solinas等人[14]通过使用神经网络对个别卡的位置进行预测来扩展这一过程。通过假设这些预测之间的独立性,通过乘以配置中卡片位置对应的概率来计算给定配置的概率。尽管示出该方法是有效的,但是独立假设与对于给定配置的事实不一致,给定卡存在的概率高度依赖于其它卡的存在。

例如,他们的方法无法捕获玩家的动作表明他们的手可能包含梅花J或黑桃J,但不能同时包含两者。

本文提出的策略推理方法通过 根据精确卡片配置来估计状态的概率。

Card Location Inference (CLI):

III.INFERENCE

给定信息集上的一个状态,得到确定性的概率。也就是计算到达概率 η。 如果我们能够完美地确定导致这种状态的每个动作的概率,我们就可以将所有的概率相乘,得到η。

$$
\eta(s|I) = \sum_{h \cdot a \sqsubseteq s} \pi(h, a)
$$

如果我们对信息集中的所有状态重复这个过程,我们就可以计算出状态之间的概率分布。如果我们能够完美地评估所有状态-动作对的值,我们就可以选择使这个期望值最大化的动作,从而提供一个最优的解决方案。

Policy Inference

ISSUE-1: 无法知道其他玩家的策略(或成本太贵)

这使得对手/伙伴模型成为必要的,在这种模型中,我们假定其他玩家的模型计算成本不高,并使用它们来估计状态的到达概率。

ISSUE-2: 信息集的状态数据相当大

为了解决这个问题,我们可以对世界进行采样,并对状态子集上的分布进行规范化。因为在滑雪板中,玩家在玩纸牌之前的信息集大小可以包含多达28亿个状态,我们采用了抽样的方法。

Algorithm 1 : 估计状态分布– 信息集,OppModel,

1569502485229

算法1,评估状态的相对到达概率,当我们不是使用采样时。这将成为对状态的真实到达概率的估计。

CLI(Cards Location Inference)–18论文

两种推理

1- samples card configurations

如果相同的卡片配置有多个状态,但特征不同(输入到网络),则决策点不进行推理

2-samples states directly

(method1)采样卡配置将被视为PI的默认方法。当对状态进行采样时,推断将被标记为PIF(Policy Inference Full)


《Challenging Human Supremacy in Skat – Guided and Complete And-Or Belief-Space Tree Search for Solving the Nullspiel 》

Scope

四人游戏(意大利游戏)

《1807.06813 [Scopone] Traditional Wisdom and Monte Carlo Tree Search Face-to-Face in the Card Game Scopone.pdf》

排序

A为11分、10为10分,K为4分、Q为3分,J为2分、9、8、7不算分,整副牌一共120分。牌序数从大到小是A>10>K>Q>9>8>7

梅花J>黑桃J>红桃J>方块J>王牌其他牌>非王牌其他牌。

牌型

1568810576588

[toc]

计算机视觉任务:

图像分类、目标定位、目标检测、目标跟踪,语义分割,实例分割;

detection

目标检测领域中主流的两大类方法:

dense detector: 例如DPM,YOLO,RetinaNet,FCOS。在dense detector中, 大量的object candidates例如sliding-windows,anchor-boxes, reference-points等被提前预设在图像网格或者特征图网格上,然后直接预测这些candidates到gt的scaling/offest和物体类别。

dense-to-sparse detector: RCNN家族,对一组sparse的candidates预测和分类

Detection模型算法整理

RCNN内容整理RCNN, FastRCNN,FasterRCNN,YOLO,SSD

发展历史:

R-CNN

Fast R-CNN

Faster R-CNN

Mask R-CNN (目标检测 + 像素分割)

SSD (Single Shot MultiBox Defender)

YOLO (You Only Look Once)

YOLO_V2

YOLO_V3

DSSD

IoU-Net(旷视科技)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SPPNet: Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition, ECCV, 2014
R-CNN: Rich feature hierarchies for accurate object detection and semantic segmentation, CVPR, 2014
Fast R-CNN, ICCV, 2015
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks, NIPS, 2015
FPN: Feature Pyramid Networks for Object Detection, CVPR, 2017
SSD: Single Shot MultiBox Detector, ECCV, 2016
DSSD: Deconvolutional Single Shot Detector, CVPR, 2017
FSSD: Feature Fusion Single Shot Multibox Detector, arXiv, 2017
YOLO-v1: You Only Look Once: Unified, Real-Time Object Detection, ECCV, 2016
YOLO-v2: YOLO9000: Better, Faster, Stronger, arXiv, 2016
YOLO-v3: YOLOv3: An Incremental Improvement
R-FCN: Object Detection via Region-based Fully Convolutional Networks, NIPS, 2016
Deformable Convolutional Networks, ICCV, 2017
Faster R-CNN+SSD: Single-Shot Refinement Neural Network for Object Detection, CVPR, 2018
CornerNet: Detecting Objects as Paired Keypoints, ECCV, 2018
IoUNet: Acquisition of Localization Confidence for Accurate Object Detection, ECCV, 2018

盘点性能最强的One-stage目标检测算法

image-20200708145221603

TimeLine

img

《Speed/accuracy trade-offs for modern convolutional object detectors》2017
翻译:http://blog.gwyve.com/blog/2017/04/10/reading-note-Speed-Accuracy.html

  • SSD、Faster R-CNN、R-FCN
  • 三个object Detection模型的总结

Two-Stage

DeNet

CoupleNet

Faster R-CNN

D-FCN

Mask R-CNN

Soft-NMS

Fitness R-CNN

Cascade R-CNN

Deform-v2

SNIPER

R-FCN

PANet

TridentNet

One-Stage

YOLOv2

SSD

model

DSSD512

RetinaNet

ConerNet

CenterNet: Keypoint Triplets for Object Detection

mAP:44.9

FPS:3

arXiv:https://arxiv.org/abs/1904.08189

https://github.com/Duankaiwen/CenterNet

CenterNet: Objects as Points

mAP:42.1

FPS:7.8

arXiv:https://arxiv.org/abs/1904.07850

https://github.com/xingyizhou/CenterNet

FCOS

YOLO 3

pytorch Yolo3

pytorch Object Detect & Trace

RefineNet511

Swim Transformer 微软

Refernce

https://zhuanlan.zhihu.com/p/59398728

盘点性能最强的One-stage目标检测算法2019-08-08

[toc]

强化学习样本利用率研究(一)-爱代码爱编程

on-policy:

off-policy:

基于模型:动态规划

无模型解决方案:TD, MC,

概率模型:

  • 贝叶斯强化学习

  • 部分可观察马尔可夫决策过程(POMDP)

PAC-MDP ( 马尔可夫决策过程学习 )

SEED RL: Scalable, EfficientDeep-RL,每秒处理数百万张图片的分布式强化学习框架。

概念解析

人工智能

  • 学派
    • 符号主义:逻辑推断,贝叶斯学习
    • 连结主义:神经网络
    • 行为主义:控制论和强化学习
  • 机器学习-广义分类
    • 监督学习
    • 无监督学习
    • 强化学习

on-policy off-policy

on-policy 与 off-policy的本质区别在于:更新Q值时所使用的方法是沿用既定的策略(on-policy)还是使用新策略(off-policy)。

在Sarsa中更新Q函数时用的A就是贪婪策略得出来的,下一回合也用的是这个A去进行step。两个A一定相同就是(同策略)on-policy。

但是在Q_learning中,更新时的a时Qmax得到的,而下一回合的A是用贪婪策略(在更新后的Qmax基础上有探索)得到的,这时的a和A就有可能不一样,就是(异策略)off-policy。

算法Survey

马尔可夫决策过程MDP

​ 一个马尔科夫决策过程MDP由可能的状态集合S、动作集合A、状态转移函数P和即时回报函数R组成一个四元组M=(S,A,P,R);给定一个MDP,强化学习的任务是找到一个策略(确定性或非确定性),能够获得最大的期望累计回报,为了使回报有界,通常引入一个衰减因子(Discount Favtor) γ∈(0,1)或决策深度(Horizon) T>0,此时学习目标可以表示为找到最优控制策略π^{*}\pi ^{*}=argmax_{\pi}V_{t}^{\pi}

更高样本效率的探索策略

随机探索策略

在agent选择动作时故意加入随机性,例如ꜫ-greedy,以1-ꜫ选择当前估值最高动作,以ꜫ概率从可能动作中按照均匀分布随机选择。Boltzmann selection探索策略也是按照一定概率分布选择动作,当前估计价值越高的动作被选中的机会越多。

系统性探索策略

尝试评估当前信息匮乏程度以及这种匮乏导致的价值估计的不确定性大小,综合考虑当前估计价值与不确定性来进行选择。一些系统性探索策略遵循“乐观策略”,即在对价值进行估计时,如果当前相关数据较少而信息不足,那就故意将此价值高估,让智能体相信相应决策会带来良好效果,促使它去选择这些具有较高不确定性的动作,随着数据量增加,信息变得充分,这种高估程度也就逐渐降低。当算法最终认定一个动作不具有高度价值而决定不再选择该动作时,由于已经有了足够多的数据,算法因错误判断价值而失去找出更好策略机会的可能性较小,这就保证了算法在最坏情况下也具有较好的样本效率。例如R-MAX、MBIE、UCRL。

PAC(Probably Approximately Correct,高度近似正确)学习理论是比较成熟的样本效率分析理论体系,PAC理论又称PAC-MDP理论,主要分析在一个无限长的学习过程中学习算法选择非最优动作的次数,称为该算法的样本复杂度。如果一个算法的样本复杂度有上界,那就说明该算法无论面对如何困难的学习问题,都能在无限长的学习过程中只犯有限次的“失误”,从而间接说明算法的样本效率较高。除PAC外,还要Regret分析、KWIK分析、平均损失分析等,从不同指标分析了一些系统性探索策略的样本效率,指出了它们的有效性。

A3C

GA3C

GPU-based Asynchronous Advantage Actor-Critic是A3C的GPU实现。

A3C的内容可见并行强化学习算法:A2C/A3C,A3C的每一个Worker都需要采样、训练,需要充足的CPU资源。GPU有很强的并行计算优势;直觉上,将学习计算部分挪到GPU,收集数据环境交互部分放到CPU,会使系统更紧凑高效,同时也能匹配其他深度学习任务的硬件架构。

学习过程

1,整体采用的是批处理策略,即缓存到达batch size后统一处理;2,每个Agent(Worker)负责收集数据(s, a, r, s’),注册到队列Training Queue,由Trainer管理供以后训练使用;3,但Agent不负责采样本身π(a|s),而是将需求注册到队列Prediction Queue,由Predictor管理;4,Predictor是个While True Thread,当缓存到达其batch size后,调用GPU上的策略预测网络π(a|s)进行采样;5,类似地,Trainer也是个While True Thread,满足batch size后调用GPU进行训练

img

注意点

1,模型网络只有一套,存储在GPU上;2,就是说,每一次采样,都使用即时的网络参数;3,模型训练期间,也同时在采样,难免会出现采样时的policy网络参数与最后学习时的参数不一致,所以GA3C部分数据有一定的延迟,不是严格的on-policy;4,具体得看训练的batch size及当时GPU状态,GPU算力资源充足、batch size合理的情况下,受影响的数据应该是很少的。

SEED RL

基本架构:

​ Actor

​ Learner

​ 基本结构与GA3C相似

img

学习过程

  • 整体采用批处理机制,批量采样、批量学习。
  • Inference thread是While True Thread,负责生成π(a|s)并保存trajectories (s, a, r, s’)。
  • Data prefetching也是While True Thread,当trajectories完成时,通过quene存入replay buffer。
  • Training thead也是While True Thread,通过Device Buffer进行批量学习。

img

总结

  • GA3C相比,直接支持off-policy,而不是不时的数据延迟lag。
  • IMPALA相比,Actor只专注环境交互,不再进行动作采样;网络参数只有一套,推理采样及学习都在Learner上。
  • R2D2相比,Replay Buffer直接在Learner上,取消分布式优先经验回放机制。
  • Actor与Learner采用gRPC通信,有效降低采样延迟
  • 每个Actor拥有多个环境Environments,提高吞吐量,高效利用CPUs和GPU。Actor与Learner不需要传输完整的Experience,降低带宽,有利于更大规模扩展。

[TOC]

Model Inference (using PB)

  • bazel
  • g++

1.bazel(tf官网方式)

https://www.tensorflow.org/guide/extend/cc

https://blog.csdn.net/elaine_bao/article/details/78702236

https://medium.com/jim-fleming/loading-a-tensorflow-graph-with-the-c-api-4caaff88463f

2.g++

https://www.fengiling.com/blog/view/?id=679303

https://blog.csdn.net/zwx1995zwx/article/details/79064064

https://github.com/zhangcliff/tensorflow-c-mnist

3.c->py->tfModel

https://blog.csdn.net/sxlsxl119/article/details/81937815