精华内容
下载资源
问答
  • 下一个激活策略23
    千次阅读
    2021-12-19 20:57:05

    前言

    最近在看YOLOv5 第6个版本的代码,记录了一下笔记,分享一下。首先看了网络结构、网络组件,对应代码models\common.py。然后看了激活函数,对应代码utils\activations.py。

    目录

    【1】python 把if 写在一行的两种方式

    【2】Python isinstance() 函数

    【3】python - 理解python嵌套一行for循环

    【4】python 单斜杠/和双斜杆//的区别

    【5】in的详解

    【6】group convolution (分组卷积)

    【7】SILU 激活函数(swish)

    【8】DWConv(Depthwise Conv)深度卷积

    【9】layer-normlization

    【10】Transformer各层网络结构详解

    【11】Bottleneck layer结构 瓶颈层

    【12】BottleneckCSP

    【13】C3

    【14】空间金字塔池化(Spatial Pyramid Pooling, SPP)

    【15】Concat

    【16】深度解读轻量网络GhostNet、Ghost bottlenecks 

    【17】SPPF

    【18】Focus

    【19】混合精度

    【20】消融实验(ablation study)

    【21】GFLOPs、FLOPs、FLOPS

    【22】CUDA NMS、Fast NMS、Cluster NMS、Matrix NMS

    【23】smooth_BCE 损失函数

    【24】Hardswish 激活函数

    【25】Mish 激活函数

    【26】FRelU 激活函数

    【27】AconC 激活函数

    【28】MetaAconC 激活函数


    注意:请大家,主要看参考链接的内容!请主要看参考链接的内容!请主要看参考链接的内容!


    【1】python 把if 写在一行的两种方式

    a=1 if a>0 else 0   如果a>0,a赋值1,否则赋值0。 
    参考:https://www.cnblogs.com/Lara1798/p/12989334.html

    【2】Python isinstance() 函数

    isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。考虑继承关系。
    >>>a = 2
    >>> isinstance (a,int)
    True
    >>> isinstance (a,str)
    False
    >>> isinstance (a,(str,int,list))    # 是元组中的一个返回 True
    True

    class A:
        pass
     
    class B(A):
        pass
    isinstance(A(), A)    # returns True
    isinstance(B(), A)    # returns True
    参考:https://www.runoob.com/python/python-func-isinstance.html

    【3】python - 理解python嵌套一行for循环

    s.split() for s in raw_sentences
    相当于:
    for s in raw_sentences:
        s.split()
    参考:https://www.coder.work/article/3128601


    【4】python 单斜杠/和双斜杆//的区别

    不管是单斜杆还是双斜杆,都是属于除法运算符;
    单斜杠是我们最常见的除法计算符号;
    1、它们最大的区别是返回的结果不一样,单斜杠计算的结果是保留若干小数;而双斜杆的结果是保留最小整数(类似于向下取);
    2、A//B的返回类型取决与A和B的数据类型,只有A和B都为int型时结果才是int(此时表示两数正除取商);
    参考:https://blog.csdn.net/qq_39284106/article/details/108208239?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link


    【5】in的详解

    1.用于判断(查找)元素是否在可迭代对象中;
    xxx in XXX :判断xxx是否在XXX中, 如果在,返回真,不在,返回假。
    xxx not in XXX :判断xxx是否不在XXX中, 如果不在,返回真,在,返回假
    if x in X
    if x not in X
    while x in X
    while x not in X
    2.用于逐个取可迭代对象的元素, 一般要配合for使用:
    我们可能常用到的可迭代的对象包括:string, list, dict, tuple, generator, range函数
    list_1 = [n for n in range(10)]
    for i in list:
        print(i)


    【6】group convolution (分组卷积)

    简介:输入feature map分成组,每个卷积核也相应地分成组,在对应的组内做卷积;用了同等的参数量运算量生成了g个feature map;
    作用:group conv常用在轻量型高效网络中,因为它用少量的参数量和运算量就能生成大量的feature map,大量的feature map意味着能够编码更多的信息!

    参数g:输入参数,分组数量
    《深度分离卷积》是分组卷积的一种特殊形式,其分组数,其中是feature map的通道数。
    即把每个feature map分为一组,分别在组内做卷积,每组内的单个卷积核尺寸为,组内一个卷积核生成一个feature map。
    参考:https://www.jianshu.com/p/a936b7bc54e3


    【7】SILU 激活函数(swish)

    简介:按元素应用 Sigmoid 线性单元 (SiLU) 函数。SiLU 函数也称为 swish 函数。
    公式:silu(x)=x∗σ(x),where σ(x) is the logistic sigmoid.
    Swish处处可导,连续光滑。另外还有一个特点就是Swish并非一个单调的函数。但是swish也并非没有任何缺点,最大的缺点就是计算量大,本来sigmoid函数就不容易计算。
    参考:https://zhuanlan.zhihu.com/p/387167769
    参考:https://pytorch.org/docs/stable/generated/torch.nn.SiLU.html
    参考:https://august-us.blog.csdn.net/article/details/106210576?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.fixedcolumn&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.fixedcolumn

    【8】DWConv(Depthwise Conv)深度卷积

    是分组卷积Group Conv的极端,即分组g =Cin = Cout = 通道数
    参考:https://zhuanlan.zhihu.com/p/45209964
    参考:https://zhuanlan.zhihu.com/p/149564248
    参考:https://zhuanlan.zhihu.com/p/80041030


    【9】layer-normlization

    Normalization 有很多种,但是它们都有一个共同的目的,那就是把输入转化成均值为 0 方差为1的数据。
    我们在把数据送入激活函数之前进行normalization(归一化),因为我们不希望输入数据落在激活函数的饱和区,发生梯度消失的问题,使得我们的模型训练变得困难。
    BN的主要思想是: 一个batch里的同一通道 上进行归一化
    LN的主要思想是:一个样本里的不同通道上计算均值和方差,而不是 BN 那种在批方向计算均值和方差!
    参考:https://blog.csdn.net/weixin_45069761/article/details/107834049


    【10】Transformer各层网络结构详解

    Transformer模型中也采用了 encoer-decoder 架构。但其结构相比于Attention更加复杂,论文中encoder层由6个encoder堆叠在一起,decoder层也一样。
    encoder,包含两层,一个self-attention层和一个前馈神经网络,self-attention能帮助当前节点不仅仅只关注当前的词,从而能获取到上下文的语义。
    decoder也包含encoder提到的两层网络,但是在这两层中间还有一层attention层,帮助当前节点获取到当前需要关注的重点内容。

    参考:https://www.cnblogs.com/mantch/p/11591937.html

    【11】Bottleneck layer结构 瓶颈层

    Bottleneck layer又称之为瓶颈层,使用的是1*1的卷积神经网络。之所以称之为瓶颈层,是因为长得比较像一个瓶颈。
    经过 1*1 的网络,中间那个看起来比较细。像一个瓶颈一样。
    使用 1*1 的网络结构很方便改变维度。灵活设计网络,并且减小计算量。
    参考:https://zhuanlan.zhihu.com/p/98692254
    参考:https://blog.csdn.net/duan19920101/article/details/104349188

    shortcut:是否给bottleneck 结构添加shortcut连接,添加后即为ResNet模块;(shortcut(捷径),跳跃连接,输入直接连接到输出的那条支路)
    这里使用的shortcut也成为identity分支,可以理解为恒等映射,另一个分支被称为残差分支(Residual分支)。
    参考:https://www.cnblogs.com/dan-baishucaizi/p/14267602.html#3bottleneck%E7%93%B6%E9%A2%88%E5%B1%82


    【12】BottleneckCSP

    BottlenneckCSP分为两部分,Bottlenneck以及CSP。Bottlenneck其实就是经典的残差结构,先是1x1的卷积层(conv+batch_norm+leaky relu),然后再是3x3的卷积层,最后通过残差结构与初始输入相加。
    也就是说将原输入分成两个分支,分别进行卷积操作使得通道数减半,然后分支一进行Bottlenneck x N操作,随后concat分支一和分支二,从而使得BottlenneckCSP的输入与输出是一样的大小,目的是为了让模型学习到更多的特征。
    很多人都对yaml文件中[[-1, 3, BottleneckCSP, [1024, False]]False的作用不太理解,其实这就是关闭了shortcut的选项。

    CSP瓶颈层结构在Bottleneck部分存在一个可修改的参数n,标识使用的Bottleneck结构个数!
    左侧(Bottleneck * n)这一条也是我们的主分支,是对残差进行学习的主要结构,
    右侧分支nn.Conv2d实际上是shortcut分支实现不同stage的连接(CSP的思想实现)。
    参考:https://www.cnblogs.com/dan-baishucaizi/p/14267602.html#4bottleneckcsp-csp%E7%93%B6%E9%A2%88%E5%B1%82
    参考:https://zhuanlan.zhihu.com/p/164627427


    【13】C3

    C3模块,其结构作用基本相同均为CSP架构,只是在修正单元的选择上有所不同,其包含了3个标准卷积层以及多个Bottleneck模块(数量由配置文件.yaml的n和depth_multiple参数乘积决定)
    C3相对于BottleneckCSP模块不同的是,经历过残差输出后的Conv模块被去掉了,concat后的标准卷积模块中的激活函数也由LeakyRelu变为了SiLU(同上)。
    该模块是对残差特征进行学习的主要模块,其结构分为两支,一支使用了上述指定多个Bottleneck堆叠和3个标准卷积层,另一支仅经过一个基本卷积模块,最后将两支进行concat操作。
    参考:https://blog.csdn.net/zebra_0/article/details/120769404


    【14】空间金字塔池化(Spatial Pyramid Pooling, SPP)

    卷积神经网络(CNN)由卷积层和全连接层组成,其中卷积层对于输入数据的大小并没有要求,
    唯一对数据大小有要求的则是第一个全连接层,因此基本上所有的CNN都要求输入数据固定大小,
    例如著名的VGG模型则要求输入数据大小是 (224*224) 。

    固定输入数据大小有两个问题:
    1.很多场景所得到数据并不是固定大小的,例如街景文字基本上其高宽比是不固定的(图片输入也不固定)
    2.可能你会说可以对图片进行切割,但是切割的话很可能会丢失到重要信息。
    SPP的提出就是为了解决CNN输入图像大小必须固定的问题,从而可以使得输入图像高宽比和大小任意。

    首先是输入层(input image),其大小可以是任意的
    进行卷积运算,到最后一个卷积层(图中是\(conv_5\))输出得到该层的特征映射(feature maps),其大小也是任意的
    下面进入SPP层 
    我们先看最左边有16个蓝色小格子的图,它的意思是将从\(conv_5\)得到的特征映射分成16份,另外16X256中的256表示的是channel,即SPP对每一层都分成16份(不一定是等比分,原因看后面的内容就能理解了)。
    中间的4个绿色小格子和右边1个紫色大格子也同理,即将特征映射分别分成4X256和1X256份
    那么将特征映射分成若干等分是做什么用的呢? 我们看SPP的名字就是到了,是做池化操作,一般选择MAX Pooling,即对每一份进行最大池化
    注意上面划分成多少份是可以自己是情况设置的。
    参考:https://cloud.tencent.com/developer/article/1076488
    参考:https://blog.csdn.net/weixin_43881803/article/details/106350160?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link


    【15】Concat

    沿维度连接张量列表

    【16】深度解读轻量网络GhostNet、Ghost bottlenecks 

    轻量级卷积神经网络设计,解决“特征图冗余”,减少模型参数和计算量,精度保持差不多。
    Ghost Module则分为两步操作来获得与普通卷积一样数量的特征图
    第一步:少量卷积(比如正常用32个卷积核,这里就用16个,从而减少一半的计算量);
    第二步:cheap operations,如图中的Φ表示,Φ是诸如3*3的卷积,并且是逐个特征图的进行卷积(Depth-wise convolutional)。
    参考:https://www.bilibili.com/read/cv5655222/


    【17】SPPF

    原理和SPP基本一致,但用到的“池化核”设计不一样;(数量)
    SPP:  “池化核”k=(5, 9, 13),加上一个1*1的;
    SPPF:“池化核”k=(5),加上一个1*1的;
    操作:MaxPool2d


    【18】Focus

    简介:Focus模块在v5中是图片进入backbone前,对图片进行切片操作;
    操作:在一张图片中每隔一个像素拿到一个值,类似于邻近下采样,这样就拿到了四张图片,四张图片互补,长的差不多,但是没有信息丢失
    效果:x(b,c,w,h) -> y(b,4c,w/2,h/2)
    这样一来,将W、H信息就集中到了通道空间,输入通道扩充了4倍,即拼接起来的图片相对于原先的RGB三通道模式变成了12个通道,
    最后将得到的新图片再经过卷积操作,最终得到了没有信息丢失情况下的二倍下采样特征图。
    参考:https://blog.csdn.net/qq_39056987/article/details/112712817


    【19】混合精度

    简介:混合精度是指训练时在模型中同时使用 16 位和 32 位浮点类型,从而加快运行速度,减少内存使用的一种训练方法。
      .通过让模型的某些部分保持使用 32 位类型以保持数值稳定性,可以缩短模型的单步用时,而在评估指标(如准确率)方面仍可以获得同等的训练效果。.

    效果:内存占用更少,计算更快。( float32和半精度float16 )
     通用的模型 fp16 占用的内存只需原来的一半,模型占用的内存更小,训练的时候可以用更大的batchsize。
     目前的不少GPU都有针对 fp16 的计算进行优化。论文指出:在近期的GPU中,半精度的计算吞吐量可以是单精度的 2-8 倍;

    Float16的问题:
    那既然fp16像上面说的那么好,那么是否全部都使用 fp16 即可了呢? 当然不是,如果fp16那么好,那又何来 『混合精度』这么一说呢。
    数据溢出问题:Overflow / Underflow。深度学习而言,最大的问题在于 Underflow(下溢出),在训练后期,例如激活函数的梯度会非常小, 甚至在梯度乘以学习率后,值会更加小。
    舍入误差(Rounding Error)。
    参考:https://zhuanlan.zhihu.com/p/103685761
    参考:https://zhuanlan.zhihu.com/p/408610877


    【20】消融实验(ablation study)

    设立对照组:通过去除某个模块的作用,来证明该模块的必要性,如果消融实验后得到结果不好或者性能大幅下降,说明该模块起到了作用。
    有一点像控制变量。
    参考:https://blog.csdn.net/DragonGirI/article/details/107356658
    参考:https://blog.csdn.net/Cai_deLong/article/details/110903263?spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7Eessearch%7Evector-6.essearch_pc_relevant&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7Eessearch%7Evector-6.essearch_pc_relevant


    【21】GFLOPs、FLOPs、FLOPS

    FLOPS:注意全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。
    FLOPs:注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。
    1GFlops = 1,000MFlops。

    一个 MFLOPS (megaFLOPS) 等于每秒1百万 (=10^6) 次的浮点运算,
    一个 GFLOPS (gigaFLOPS) 等于每秒10亿 (=10^9) 次的浮点运算,
    一个 TFLOPS (teraFLOPS) 等于每秒1万亿 (=10^12) 次的浮点运算,
    一个 PFLOPS (petaFLOPS) 等于每秒1千万亿 (=10^15) 次的浮点运算。

    参考:https://zhuanlan.zhihu.com/p/137719986
    参考:https://baike.baidu.com/item/Gflops/989595


    【22】CUDA NMS、Fast NMS、Cluster NMS、Matrix NMS

    NMS运算效率的瓶颈在哪?答案自然是IoU计算,及顺序迭代,IOU最大的框 抑制 其他IOU小的框。
    参考:https://zhuanlan.zhihu.com/p/157900024
    参考:https://blog.csdn.net/john_bh/article/details/107364782
    参考:https://githubmemory.com/repo/APeiZou/yolov5


    【23】smooth_BCE 损失函数

    这个函数是一个标签平滑的策略(trick),是一种在 分类/检测 问题中,防止过拟合的方法。
    效果:这实际上是一种正则化策略,减少了真实样本标签的类别在计算损失函数时的权重,最终起到抑制过拟合的效果。
    函数:
    def smooth_BCE(eps=0.1):
        """用在ComputeLoss类中  标签平滑操作  [1, 0]  =>  [0.95, 0.05]
        :params eps: 平滑参数
        :return positive, negative label smoothing BCE targets  两个值分别代表正样本和负样本的标签取值
                原先的正样本=1 负样本=0 改为 正样本=1.0 - 0.5 * eps  负样本=0.5 * eps
        """
        return 1.0 - 0.5 * eps, 0.5 * eps
    返回正、负样本的标签取值
    参考:https://github.com/ultralytics/yolov3/issues/238#issuecomment-598028441
    参考:https://blog.csdn.net/qq_38253797/article/details/119444854
    参考:https://blog.csdn.net/qq_35447659/article/details/107818462?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1.essearch_pc_relevant&spm=1001.2101.3001.4242.2


    【24】Hardswish 激活函数

    hardswish激活函数。在MobileNetV3架构中被提出,相较于swish函数,具有数值稳定性好,计算速度快等优点,
    参考:https://pytorch.org/docs/stable/generated/torch.nn.Hardswish.html
    参考:https://www.bookstack.cn/read/paddlepaddle-2.0-zh/9550b2db596b3c48.md
    具体原理请参考: https://arxiv.org/pdf/1905.02244.pdf
    class Hardswish(nn.Module):  # export-friendly version of nn.Hardswish()
        @staticmethod
        def forward(x):
            # return x * F.hardsigmoid(x)  # for torchscript and CoreML
            return x * F.hardtanh(x + 3, 0.0, 6.0) / 6.0  # for torchscript, CoreML and ONNX
    hardsigmoid 激活函数
    参考:https://pytorch.org/docs/stable/generated/torch.nn.Hardsigmoid.html
    hardtanh 激活函数
    参考:https://pytorch.org/docs/stable/generated/torch.nn.Hardtanh.html

    【25】Mish 激活函数

    Mish =  x * F.softplus(x).tanh() 或 = x * (torch.tanh(F.softplus(x))) 或 x * tanh(ln(1 + exp(x)))
    Mish是一个光滑非单调的激活函数
    参考:https://blog.csdn.net/moxibingdao/article/details/108289489
    参考:https://zhuanlan.zhihu.com/p/84418420

    F.softplus(x) 参考:https://pytorch.org/docs/stable/generated/torch.nn.Softplus.html
    Softplus(x)= (1/β) ∗log(1+exp(β∗x)) 

    【Swish Mish 激活函数 理解】https://blog.csdn.net/bu_fo/article/details/110224213


    【26】FRelU 激活函数

    FReLU的形式为y = max(x,T(x)),其中T(·)是二维空间条件(2D spatial condition)
    此外,空间条件spatial condition以简单的方式实现了像素级建模能力,并通过常规卷积捕获了复杂的视觉layouts。
    ReLU和PReLU分别表示为y = max(x,0)和y = max(x,px)
    y=max(x,T(x)),其中T(x)代表简单高效的空间上下文特征提取器。

    class FReLU(nn.Module):
        def __init__(self, c1, k=3):  # ch_in, kernel
            super().__init__()
            self.conv = nn.Conv2d(c1, c1, k, 1, 1, groups=c1, bias=False)
            self.bn = nn.BatchNorm2d(c1)

        def forward(self, x):
            return torch.max(x, self.bn(self.conv(x)))
    参考:https://blog.csdn.net/sinat_17456165/article/details/107603052


    【27】AconC 激活函数

    作者提出了一系列的ACON函数,其中 ReLU 是 Maxout 的一种特殊形式,Swish 是 ACON 的一种特殊形式
    ACON 函数本质就是一个具有学习能力的Layer;
        r""" ACON activation (activate or not).
        AconC: (p1*x-p2*x) * sigmoid(beta*(p1*x-p2*x)) + p2*x, beta is a learnable parameter
        according to "Activate or Not: Learning Customized Activation" <https://arxiv.org/pdf/2009.04759.pdf>.
        """
    参考:https://zhuanlan.zhihu.com/p/359633625
    参考:https://zhuanlan.zhihu.com/p/363274457

    【28】MetaAconC 激活函数

    r""" ACON activation (activate or not).
        MetaAconC: (p1*x-p2*x) * sigmoid(beta*(p1*x-p2*x)) + p2*x, beta is generated by a small network
        according to "Activate or Not: Learning Customized Activation" <https://arxiv.org/pdf/2009.04759.pdf>.
        """
    参考:https://zhuanlan.zhihu.com/p/359633625
    参考:https://aistudio.baidu.com/aistudio/projectdetail/1871546?channelType=0&channel=0


    本文只供大家参考与学习,谢谢。

    更多相关内容
  • 卷积神经网络参数优化策略

    千次阅读 2020-05-14 11:20:53
    力争用数据给大家一个关于正则化,增加卷积层/全连接数,弃权技术,拓展训练集等参数优化方法的效果。 提高泛化能力的方法,一般来说,提高泛化能力的方法主要有以下几: 正则化 增加神经网络层数 使用正确的代价...

    前言

    最近卷积神经网络(CNN)很火热,它在图像分类领域的卓越表现引起了大家的广泛关注。本文总结和摘录了Michael Nielsen的那本Neural Network and Deep Learning一书中关于深度学习一章中关于提高泛化能力的一些概述和实验结果。力争用数据给大家一个关于正则化,增加卷积层/全连接数,弃权技术,拓展训练集等参数优化方法的效果。

    提高泛化能力的方法,一般来说,提高泛化能力的方法主要有以下几个:

    正则化
    增加神经网络层数
    使用正确的代价函数
    使用好的权重初始化技术
    人为拓展训练集
    弃权技术

    下面我们通过实验结果给这些参数优化理论一个直观的结果

    1. 普通的全连接神经网络的效果

    我们使用一个隐藏层,包含100个隐藏神经元,输入层是784,输出层是one-hot编码的形式,最后一层是Softmax层。训练过程采用对数似然代价函数,60次迭代,学习速率η=0.1,随机梯度下降的小批量数据大小为10,没有正则化。在测试集上得到的结果是97.8%,代码如下:

    >>> import network3
    >>> from network3 import Network
    >>> from network3 import ConvPoolLayer, FullyConnectedLayer, SoftmaxLayer
    >>> training_data, validation_data, test_data = network3.load_data_shared()
    >>> mini_batch_size = 10
    >>> net = Network([
            FullyConnectedLayer(n_in=784, n_out=100),
            SoftmaxLayer(n_in=100, n_out=10)], mini_batch_size)
    >>> net.SGD(training_data, 60, mini_batch_size, 0.1, 
                validation_data, test_data)
    
    2.使用卷积神经网络 — 仅一个卷积层

    输入层是卷积层,55的局部感受野,也就是一个55的卷积核,一共20个特征映射。最大池化层选用2*2的大小。后面是100个隐藏神经元的全连接层。结构如图所示
    CNN结构
    在这个架构中,我们把卷积层和chihua层看做是学习输入训练图像中的局部感受野,而后的全连接层则是一个更抽象层次的学习,从整个图像整合全局信息。也是60次迭代,批量数据大小是10,学习率是0.1.代码如下,

    >>> net = Network([
            ConvPoolLayer(image_shape=(mini_batch_size, 1, 28, 28), 
                          filter_shape=(20, 1, 5, 5), 
                          poolsize=(2, 2)),
            FullyConnectedLayer(n_in=20*12*12, n_out=100),
            SoftmaxLayer(n_in=100, n_out=10)], mini_batch_size)
    >>> net.SGD(training_data, 60, mini_batch_size, 0.1, 
                validation_data, test_data)   
    

    经过三次运行取平均后,准确率是98.78%,这是相当大的改善。错误率降低了1/3,。卷积神经网络开始显现威力。

    3.使用卷积神经网络 — 两个卷积层

    我们接着插入第二个卷积-混合层,把它插入在之前的卷积-混合层和全连接层之间,同样的55的局部感受野,22的池化层。

    >>> net = Network([
            ConvPoolLayer(image_shape=(mini_batch_size, 1, 28, 28), 
                          filter_shape=(20, 1, 5, 5), 
                          poolsize=(2, 2)),
            ConvPoolLayer(image_shape=(mini_batch_size, 20, 12, 12), 
                          filter_shape=(40, 20, 5, 5), 
                          poolsize=(2, 2)),
            FullyConnectedLayer(n_in=40*4*4, n_out=100),
            SoftmaxLayer(n_in=100, n_out=10)], mini_batch_size)
    >>> net.SGD(training_data, 60, mini_batch_size, 0.1, 
                validation_data, test_data)  
    

    这一次,我们拥有了99.06%的准确率。

    4.使用卷积神经网络 — 两个卷积层+线性修正单元(ReLU)+正则化

    上面我们使用的Sigmod激活函数,现在我们换成线性修正激活函数ReLU
    f(z)=max(0,z)
    ,我们选择60个迭代期,学习速率η=0.03, ,使用L2正则化,正则化参数λ=0.1,代码如下

    >>> from network3 import ReLU
    >>> net = Network([
            ConvPoolLayer(image_shape=(mini_batch_size, 1, 28, 28), 
                          filter_shape=(20, 1, 5, 5), 
                          poolsize=(2, 2), 
                          activation_fn=ReLU),
            ConvPoolLayer(image_shape=(mini_batch_size, 20, 12, 12), 
                          filter_shape=(40, 20, 5, 5), 
                          poolsize=(2, 2), 
                          activation_fn=ReLU),
            FullyConnectedLayer(n_in=40*4*4, n_out=100, activation_fn=ReLU),
            SoftmaxLayer(n_in=100, n_out=10)], mini_batch_size)
    >>> net.SGD(training_data, 60, mini_batch_size, 0.03, 
                validation_data, test_data, lmbda=0.1)
    

    这一次,我们获得了99.23%的准确率,超过了S型激活函数的99.06%. ReLU的优势是max(0,z)

    中z取最大极限时不会饱和,不像是S函数,这有助于持续学习。

    5.使用卷积神经网络 — 两个卷基层+线性修正单元(ReLU)+正则化+拓展数据集

    拓展训练集数据的一个简单方法是将每个训练图像由一个像素来代替,无论是上一个像素,下一个像素,或者左右的像素。其他的方法也有改变亮度,改变分辨率,图片旋转,扭曲,位移等。
    我们把50,000幅图像人为拓展到250,000幅图像。使用第4节一样的网络,因为我们是在训练5倍的数据,所以减少了过拟合的风险。

    >>> expanded_training_data, _, _ = network3.load_data_shared(
            "../data/mnist_expanded.pkl.gz")
    >>> net = Network([
            ConvPoolLayer(image_shape=(mini_batch_size, 1, 28, 28), 
                          filter_shape=(20, 1, 5, 5), 
                          poolsize=(2, 2), 
                          activation_fn=ReLU),
            ConvPoolLayer(image_shape=(mini_batch_size, 20, 12, 12), 
                          filter_shape=(40, 20, 5, 5), 
                          poolsize=(2, 2), 
                          activation_fn=ReLU),
            FullyConnectedLayer(n_in=40*4*4, n_out=100, activation_fn=ReLU),
            SoftmaxLayer(n_in=100, n_out=10)], mini_batch_size)
    >>> net.SGD(expanded_training_data, 60, mini_batch_size, 0.03, 
                validation_data, test_data, lmbda=0.1)
    

    这次的到了99.37的训练正确率。

    6.使用卷积神经网络 — 两个卷基层+线性修正单元(ReLU)+正则化+拓展数据集+继续插入额外的全连接层

    继续上面的网络,我们拓展全连接层的规模,300个隐藏神经元和1000个神经元的额精度分别是99.46%和99.43%.
    我们插入一个额外的全连接层

    >>> net = Network([
            ConvPoolLayer(image_shape=(mini_batch_size, 1, 28, 28), 
                          filter_shape=(20, 1, 5, 5), 
                          poolsize=(2, 2), 
                          activation_fn=ReLU),
            ConvPoolLayer(image_shape=(mini_batch_size, 20, 12, 12), 
                          filter_shape=(40, 20, 5, 5), 
                          poolsize=(2, 2), 
                          activation_fn=ReLU),
            FullyConnectedLayer(n_in=40*4*4, n_out=100, activation_fn=ReLU),
            FullyConnectedLayer(n_in=100, n_out=100, activation_fn=ReLU),
            SoftmaxLayer(n_in=100, n_out=10)], mini_batch_size)
    >>> net.SGD(expanded_training_data, 60, mini_batch_size, 0.03, 
                validation_data, test_data, lmbda=0.1)
    

    这次取得了99.43%的精度。拓展后的网络并没有帮助太多。

    7.使用卷积神经网络 — 两个卷基层+线性修正单元(ReLU)+拓展数据集+继续插入额外的全连接层+弃权技术

    弃权的基本思想就是在训练网络时随机的移除单独的激活值,使得模型对单独的依据丢失更为强劲,因此不太依赖于训练数据的特质。我们尝试应用弃权技术到最终的全连接层(不是在卷基层)。这里,减少了迭代期的数量为40个,全连接层使用1000个隐藏神经元,因为弃权技术会丢弃一些神经元。Dropout是一种非常有效有提高泛化能力,降低过拟合的方法!

    >>> net = Network([
            ConvPoolLayer(image_shape=(mini_batch_size, 1, 28, 28), 
                          filter_shape=(20, 1, 5, 5), 
                          poolsize=(2, 2), 
                          activation_fn=ReLU),
            ConvPoolLayer(image_shape=(mini_batch_size, 20, 12, 12), 
                          filter_shape=(40, 20, 5, 5), 
                          poolsize=(2, 2), 
                          activation_fn=ReLU),
            FullyConnectedLayer(
                n_in=40*4*4, n_out=1000, activation_fn=ReLU, p_dropout=0.5),
            FullyConnectedLayer(
                n_in=1000, n_out=1000, activation_fn=ReLU, p_dropout=0.5),
            SoftmaxLayer(n_in=1000, n_out=10, p_dropout=0.5)], 
            mini_batch_size)
    >>> net.SGD(expanded_training_data, 40, mini_batch_size, 0.03, 
                validation_data, test_data)
    

    使用弃权技术,的到了99.60%的准确率。

    8.使用卷积神经网络 — 两个卷基层+线性修正单元(ReLU)+正则化+拓展数据集+继续插入额外的全连接层+弃权技术+组合网络

    组合网络类似于随机森林或者adaboost的集成方法,创建几个神经网络,让他们投票来决定最好的分类。我们训练了5个不同的神经网络,每个都大到了99.60%的准去率,用这5个网络来进行投票表决一个图像的分类。
    采用这个方法,达到了99.67%的准确率。

    卷积神经网络 的一些技巧总结如下:

    1. 使用卷积层极大地减小了全连接层中的参数的数目,使学习的问题更容易
    2. 使用更多强有力的规范化技术(尤其是弃权和卷积)来减小过度拟合,
    3. 使用修正线性单元而不是S型神经元,来加速训练-依据经验,通常是3-5倍,
    4. 使用GPU来计算
    5. 利用充分大的数据集,避免过拟合
    6. 使用正确的代价函数,避免学习减速
    7. 使用好的权重初始化,避免因为神经元饱和引起的学习减速

    CNN超参数优化和可视化技巧详解
    转自:https://zhuanlan.zhihu.com/p/27905191

    在深度学习中,有许多不同的深度网络结构,包括卷积神经网络(CNN或convnet)、长短期记忆网络(LSTM)和生成对抗网络(GAN)等。

    在计算机视觉领域,对卷积神经网络(简称为CNN)的研究和应用都取得了显著的成果。CNN网络最初的诞生收到了动物视觉神经机制的启发,目前已成功用于机器视觉等领域中。

    技术博客Towards Data Science最近发布了一篇文章,作者Suki Lau。文章讨论了在卷积神经网络中,该如何调整超参数以及可视化卷积层。

    为什么用卷积神经网络?
    首先,我们想要计算机具有什么能力呢?

    当我们看到一只猫跳上窗台或在沙发上睡觉时,我们的潜意识会认出它是一只猫。

    我们希望计算机也能完成这项任务,即将图像输入后,找出其独有的特征,最终输出该图像的类别信息。

    卷积神经网络可以完成这项任务。

    何为卷积神经网络?
    先谈定义,卷积神经网络是一种特殊的神经网络,其中至少包含一个卷积层。在典型的CNN网络结构中,输入一张图像,经由一系列卷积层、非线性激活层、池化层和全连接层后,可输出相应的类别标签。

    卷积神经网络的特别之处在于加入了卷积层。

    在经典的神经网络中,整张图片会被传入网络中来训练各网络层权值。当输入为简单居中的图像时,如Mnist手写数字图,网络识别效果较优,但是当输入变为更为复杂多变的图像时,如跳上窗户的小猫,此时网络识别效果不佳甚至无法辨识。

    加入更多隐含层学习输入图像的抽象特征,可能会有所帮助,但是这样会增加神经元的数目,大大增加训练所需的计算资源和占用过多的内存,这是不切实际的。

    而CNN识别目标的过程,是先寻找诸如边缘、线段和曲线等相关低级特征,然后使用多个卷积层来构建更多抽象的高级特征。

    在卷积层的学习过程中,CNN网络通过共享多个卷积核(或特征检测器)的权值,来学习每张图片的局部信息,并用于构建抽象特征图谱。卷积核共享特性大大降低了训练网络所需的参数量。

    由于经过训练的检测器可以通过卷积层重复用来组合地检测图片中的抽象特征,因此卷积神经网络更适用于复杂的图像识别任务。

    超参数调整
    在深度神经网络中,调整超参数组合并非易事,因为训练深层神经网络十分耗时,且需要配置多个参数。

    接下来,我们简单列举几个影响CNN网络的关键超参数。

    学习率

    学习率是指在优化算法中更新网络权重的幅度大小。

    学习率可以是恒定的、逐渐降低的、基于动量的或者是自适应的,采用哪种学习率取决于所选择优化算法的类型,如SGD、Adam、Adagrad、AdaDelta或RMSProp等算法。

    优化策略这方面的内容可参阅量子位之前编译过的“一文看懂各种神经网络优化算法:从梯度下降到Adam方法”。

    迭代次数

    迭代次数是指整个训练集输入到神经网络进行训练的次数。当测试错误率和训练错误率相差较小时,可认为当前的迭代次数是合适的,否则需继续增大迭代次数,或调整网络结构。

    批次大小

    在卷积神经网络的学习过程中,小批次会表现得更好,选取范围一般位于区间[16,128]内。

    还需要注意的是,CNN网络对批次大小的调整十分敏感。

    激活函数

    激活函数具有非线性,理论上可以使模型拟合出任何函数。通常情况下,rectifier函数在CNN网络中的效果较好。当然,可以根据实际任务,选择其他类型的激活函数,如Sigmoid和Tanh等等。

    隐含层的数目和单元数

    增加隐含层数目以加深网络深度,会在一定程度上改善网络性能,但是当测试错误率不再下降时,就需要寻求其他的改良方法。增加隐含层数目也带来一个问题,即提高了训练该网络的计算成本。

    当网络的单元数设置过少时,可能会导致欠拟合,而单元数设置过多时,只要采取合适的正则化方式,就不会产生不良影响。

    权重初始化

    在网络中,通常会使用小随机数来初始化各网络层的权重,以防止产生不活跃的神经元,但是设置过小的随机数可能生成零梯度网络。一般来说,均匀分布方法效果较好。

    Dropout方法

    作为一种常用的正则化方式,加入Dropout层可以减弱深层神经网络的过拟合效应。该方法会按照所设定的概率参数,在每次训练中随机地不激活一定比例的神经单元。该参数的默认值为0.5。

    手动调整超参数是十分费时也不切实际。接下来介绍两种搜索最优超参数的常用方法。

    网格搜索和随机搜索

    网格搜索是通过穷举法列出不同的参数组合,确定性能最优的结构。随机搜索是从具有特定分布的参数空间中抽取出一定数量的候选组合。

    网格搜索方法也需要制定策略,在初始阶段最好先确定各超参数值的大概范围。可以先尝试在较小迭代次数或较小规模的训练集上进行大步幅的网格搜索。然后在下个阶段中,设置更大的迭代次数,或是使用整个训练集,实现小幅精确定位。

    虽然在许多机器学习算法中,通常会使用网格搜索来确定超参数组合,但是随着参数量的增大,训练网络所需的计算量呈指数型增长,这种方法在深层神经网络的超参数调整时效果并不是很好。

    有研究指出,在深度神经网络的超参数调整中,随机搜索方法比网格搜索的效率更高,具体可参考文末中的“随机搜索在超参数优化中的应用”。

    当然,可根据神经网络的理论经验,进行超参数的手动调整在一些场景下也是可行的。

    可视化
    我们可以通过可视化各个卷积层,来更好地了解CNN网络是如何学习输入图像的特征。

    可视化有两种直接方式,分别是可视化激活程度和可视化相关权重。在网络训练过程中,卷积层的激活情况通常会变得更为稀疏和具有局部特性。当不同输入图像的激活图都存在大片未激活的区域,那么可能是设置了过高的学习率使得卷积核不起作用,导致产生零激活图像。

    性能优良的神经网络通常含有多个明显而平滑的卷积器,且没有任何干扰特征。若在权重中观察到相关干扰特征,可能原因是网络未被充分训练,或是正则化强度较低导致了过拟合效应。

    神经网络参数优化–基于CNN的验证
    转自:https://ziyubiti.github.io/2016/11/20/cnnpara/
      当使用多层更深的隐藏层全连接网络时,参数量会变得非常巨大,达到数十亿量级;而采用CNN结构,则可以层间共享权重,极大减小待训练的参数量;同时可采用二维卷积,保留图像的空间结构信息;采用池化层,进一步减少参数计算。
      一般来说,提高泛化能力的方法主要有: 正则化、增加神经网络层数、改变激活函数与代价函数、使用好的权重初始化技术、人为扩展训练集、弃权技术。
      下面以MNIST为例,结合CNN、Pooling、Fc结构,通过不同的网络结构变化,给这些参数优化理论一个直观的验证结果。

    CNN不同网络结构性能比较CNN不同网络结构性能比较

    可以看出:
      1、使用L2正则化,dropout技术,扩展数据集等,有效缓解过拟合,提升了性能;
      2、使用ReLU,导数为常量,可以缓解梯度下降问题,并加速训练;
      3、增加Conv/Pooling与Fc层,可以改善性能。(我自己实测也是如此)
      
      Note:
      1、网络并非越深越好,单纯的Conv/Pooling/Fc结构,增加到一定深度后由于过拟合性能反而下降。
      2、网络结构信息更重要,如使用GoogleNet、ResNet等。

    知乎上的讨论:

    转自:https://www.zhihu.com/question/41631631
    训练技巧对深度学习来说是非常重要的,作为一门实验性质很强的科学,同样的网络结构使用不同的训练方法训练,结果可能会有很大的差异。这里我总结了近一年来的炼丹心得,分享给大家,也欢迎大家补充指正。

    参数初始化。

    下面几种方式,随便选一个,结果基本都差不多。但是一定要做。否则可能会减慢收敛速度,影响收敛结果,甚至造成Nan等一系列问题。

    下面的n_in为网络的输入大小,n_out为网络的输出大小,n为n_in或(n_in+n_out)*0.5

    Xavier初始法论文:http://jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdf

    He初始化论文:https://arxiv.org/abs/1502.01852

    uniform均匀分布初始化: w = np.random.uniform(low=-scale, high=scale, size=[n_in,n_out])
    Xavier初始法,适用于普通激活函数(tanh,sigmoid):scale = np.sqrt(3/n)
    He初始化,适用于ReLU:scale = np.sqrt(6/n)
    normal高斯分布初始化: w = np.random.randn(n_in,n_out) * stdev # stdev为高斯分布的标准差,均值设为0
    Xavier初始法,适用于普通激活函数 (tanh,sigmoid):stdev = np.sqrt(n)
    He初始化,适用于ReLU:stdev = np.sqrt(2/n)
    svd初始化:对RNN有比较好的效果。参考论文:https://arxiv.org/abs/1312.6120
    数据预处理方式

    zero-center ,这个挺常用的. X -= np.mean(X, axis = 0) # zero-center X /= np.std(X, axis = 0) # normalize
    PCA whitening,这个用的比较少.
    训练技巧

    要做梯度归一化,即算出来的梯度除以minibatch size
    clip c(梯度裁剪): 限制最大梯度,其实是value = sqrt(w12+w22….),如果value超过了阈值,就算一个衰减系系数,让value的值等于阈值: 5,10,15
    dropout对小数据防止过拟合有很好的效果,值一般设为0.5,小数据上dropout+sgd在我的大部分实验中,效果提升都非常明显(实测sgd比adam好).因此可能的话,建议一定要尝试一下。 dropout的位置比较有讲究, 对于RNN,建议放到输入->RNN与RNN->输出的位置.关于RNN如何用dropout,可以参考这篇论文:http://arxiv.org/abs/1409.2329
    adam,adadelta等,在小数据上,我这里实验的效果不如sgd, sgd收敛速度会慢一些,但是最终收敛后的结果,一般都比较好。如果使用sgd的话,可以选择从1.0或者0.1的学习率开始,隔一段时间,在验证集上检查一下,如果cost没有下降,就对学习率减半. 我看过很多论文都这么搞,我自己实验的结果也很好. 当然,也可以先用ada系列先跑,最后快收敛的时候,更换成sgd继续训练.同样也会有提升.据说adadelta一般在分类问题上效果比较好,adam在生成问题上效果比较好。
    除了gate之类的地方,需要把输出限制成0-1之外,尽量不要用sigmoid,可以用tanh或者relu之类的激活函数.1. sigmoid函数在-4到4的区间里,才有较大的梯度。之外的区间,梯度接近0,很容易造成梯度消失问题。2. 输入0均值,sigmoid函数的输出不是0均值的。
    rnn的dim和embdding size,一般从128上下开始调整. batch size,一般从128左右开始调整.batch size合适最重要,并不是越大越好.
    word2vec初始化,在小数据上,不仅可以有效提高收敛速度,也可以可以提高结果.
    尽量对数据做shuffle
    LSTM 的forget gate的bias,用1.0或者更大的值做初始化,可以取得更好的结果,来自这篇论文:http://jmlr.org/proceedings/papers/v37/jozefowicz15.pdf, 我这里实验设成1.0,可以提高收敛速度.实际使用中,不同的任务,可能需要尝试不同的值.
    Batch Normalization据说可以提升效果,不过我没有尝试过,建议作为最后提升模型的手段,参考论文:Accelerating Deep Network Training by Reducing Internal Covariate Shift
    如果你的模型包含全连接层(MLP),并且输入和输出大小一样,可以考虑将MLP替换成Highway Network,我尝试对结果有一点提升,建议作为最后提升模型的手段,原理很简单,就是给输出加了一个gate来控制信息的流动,详细介绍请参考论文: http://arxiv.org/abs/1505.00387
    来自@张馨宇的技巧:一轮加正则,一轮不加正则,反复进行。
    Ensemble

    Ensemble是论文刷结果的终极核武器,深度学习中一般有以下几种方式

    同样的参数,不同的初始化方式
    不同的参数,通过cross-validation,选取最好的几组
    同样的参数,模型训练的不同阶段,即不同迭代次数的模型。
    不同的模型,进行线性融合. 例如RNN和传统模型.

    其实我发现现在深度学习越来越成熟,调参工作比以前少了很多,绝大多数情况自己设计的参数都不如教程和框架的默认参数好,不过有一些技巧我一直都在用的

    (1)relu+bn。这套好基友组合是万精油,可以满足95%的情况,除非有些特殊情况会用identity,比如回归问题,比如resnet的shortcut支路,sigmoid什么的都快从我世界里消失了

    (2)dropout 。分类问题用dropout ,只需要最后一层softmax 前用基本就可以了,能够防止过拟合,可能对accuracy提高不大,但是dropout 前面的那层如果是之后要使用的feature的话,性能会大大提升(例如max pool进入fc,实测发现加BN效果非常明显)

    (3)数据的shuffle 和augmentation 。这个没啥好说的,aug也不是瞎加,比如行人识别一般就不会加上下翻转的,因为不会碰到头朝下的异型种

    (4)降学习率。随着网络训练的进行,学习率要逐渐降下来,如果你有tensorboard,你有可能发现,在学习率下降的一瞬间,网络会有个巨大的性能提升,同样的fine-tuning也要根据模型的性能设置合适的学习率,比如一个训练的已经非常好的模型你上来就1e-3的学习率,那之前就白训练了,就是说网络性能越好,学习率要越小

    (5)tensorboard。以前不怎么用,用了之后发现太有帮助,帮助你监视网络的状态,来调整网络参数

    (6)随时存档模型,要有validation 。这就跟打游戏一样存档,把每个epoch和其对应的validation 结果存下来,可以分析出开始overfitting的时间点,方便下次加载fine-tuning

    (7)网络层数,参数量什么的都不是大问题,在性能不丢的情况下,减到最小

    (8)batchsize通常影响没那么大,塞满卡就行,除了特殊的算法需要batch大一点

    (9)输入减不减mean归一化在有了bn之后已经不那么重要了

    上面那些都是大家所知道的常识,也是外行人觉得深度学习一直在做的就是这些很low的东西,其实网络设计(关键!!!实测发现对于acc影响极大!)上博大精深,这也远超过我的水平范畴,只说一些很简单的

    (1)卷积核的分解。从最初的5×5分解为两个3×3,到后来的3×3分解为1×3和3×1,再到resnet的1×1,3×3,1×1,再xception的3×3 channel-wise conv+1×1,网络的计算量越来越小,层数越来越多,性能越来越好,这些都是设计网络时可以借鉴的

    (2)不同尺寸的feature maps的concat,只用一层的feature map一把梭可能不如concat好,pspnet就是这种思想,这个思想很常用

    (3)resnet的shortcut确实会很有用,重点在于shortcut支路一定要是identity,主路是什么conv都无所谓,这是我亲耳听resnet作者所述

    (4)针对于metric learning,对feature加个classification 的约束通常可以提高性能加快收敛

    补充一点,adam收敛虽快但是得到的解往往没有sgd+momentum得到的解更好,如果不考虑时间成本的话还是用sgd吧。
    再补充一个rnn trick,仍然是不考虑时间成本的情况下,batch size=1是一个很不错的regularizer, 起码在某些task上,这也有可能是很多人无法复现alex graves实验结果的原因之一,因为他总是把batch size设成1。。。

    没做过CNN,RNN,调过连续值DNN,以下经验仅限于CTR
    1.样本要足够随机
    2.样本要做归一化
    3.激活函数要视样本输入选择
    4.minibatch很重要,几百到几千是比较合适的(很大数据量的情况下)
    5.learning rate很重要,可以直接用adagrad or adadelta,省去一些麻烦,然后把冲量调到0.9以上
    6.权重初始化,可用高斯分布乘上一个很小的数

    小白一枚,在这里总结一下我在试验中观察到的现象(必然有理解错误的地方):

    1. Adam收敛速度的确要快一些,可是结果总是不如其他优化算法,如果很看重结果不在乎速度还是用其他的试试。
    2. Dropout的放置位置以及大小非常重要,求大神能分享经验…
    3. Relu并不是一定比Tanh好,如果不太懂的话,用的不合适,可能会导致梯度消失?(不知道是不是网络结构问题,为什么一用relu梯度一会儿就变成Nan)
    4. pretrain 的 Embedding在训练中不调优泛化能力要更好一些,调优的话参数会增加好多啊。
      另:心得体会
    5. 深度学习真是一门实验科学,很多地方解释不了为什么好,为什么不好。
      2.如果你机器配置很不到位,也没有人带你,毕业设计千万别选深度学习,天天愁,好坑啊。

    最近在看 Karpathy 的 cs231n, 还没看完, 不过过程中总结了一下他提到的一些技巧:

    关于参数:
    通常情况下, 更新参数的方法默认用 Adam 效果就很好
    如果可以载入全部数据 (full batch updates), 可以使用 L-BFGS

    Model Ensembles:
    训练多个模型, 在测试时将结果平均起来, 大约可以得到 2% 提升.
    训练单个模型时, 平均不同时期的 checkpoints 的结果, 也可以有提升.
    测试时可以将测试的参数和训练的参数组合起来:

    分享几个常用的trick:
    1.增加每个step的轮数
    2.early stop
    3.用小一些的学习率warmup
    4.回退到更大的学习率
    5.nesterov momentum sgd
    6.搜索初始学习率

    1.better initialization helps a lot

    2.use minibatch and choose batch_size(must)

    3.use batch_norm &dropout

    4.use adam

    5.plot the learning rate curve

    6.plot the loss curve.

    7.lstm &gru are almost always better than sample RNN

    8.use better framework(like tensorflow with tensorboard)

    9.find hyper parameters used most often in paper

    10 pray

    cnn的调参主要是在优化函数、embedding的维度还要残差网络的层数几个方面。

    优化函数方面有两个选择:sgd、adam,相对来说adam要简单很多,不需要设置参数,效果也还不错。
    embedding随着维度的增大会出现一个最大值点,也就是开始时是随维度的增加效果逐渐变好,到达一个点后,而后随维度的增加,效果会变差。
    残差网络的层数与embedding的维度有关系,随层数的增加,效果变化也是一个凸函数。
    另外还有激活函数,dropout层和batchnormalize层的使用。激活函数推荐使用relu,dropout层数不易设置过大,过大会导致不收敛,调节步长可以是0.05,一般调整到0.4或者0.5就可找到最佳值。

    以上是个人调参的一些经验,可供参考。

    1.无论是cnn还是rnn,batch normalization都有用,不一定结果提高几个点,收敛快多了
    2.数据初始时normalize得好,有时候直接提高2个点,比如cifar10,转到yuv下normalize再scn
    3.loss不降了lr就除10
    4. google的inception系列按它论文里说的永远无法复现

    如何训练深度神经网络?老司机的 15 点建议

    导语:印度深度学习专家 Rishabh Shukla 对开发深度神经网络的经验总结。
    本文为印度深度学习专家、创业者 Rishabh Shukla 在 GitHub 上发表的长博文,总结了他过去的开发经验,旨在给新入门的开发者提供指导。雷锋网做了不改变原意的编译。

    在深度学习领域,为了高效训练深度神经网络,有些实践方法被过来人强烈推荐。

    在这篇博文中,我会覆盖几种最常使用的实践方法,从高品质训练数据的重要性、超参数(hyperparameters)到更快创建 DNN(深度神经网络) 原型模型的一般性建议。这些推荐方法中的大多数,已被学术界的研究所证实,并在论文中展示了相关实验、数学证据,比如 Efficient BackProp(Yann LeCun et al.) 和 Practical Recommendations for Deep Architectures(Yoshua Bengio)。

    1. 训练数据
      许多 ML 开发者习惯把原始训练数据直接扔给 DNN——为什么不这么做呢?既然任何 DNN (大多数人的假设)仍然能够给出不错的结果,不是吗?但是,有句老话叫“给定恰当的数据类型,一个简单的模型能比复杂 DNN 提供更好、更快的结果”。虽然这有一些例外,但在今天,这句话仍然没有过时。因此,不管你是在计算机视觉( CV),自然语言处理(NLP)还是统计建模(Statistical Modelling)等领域,想要对原始数据预处理,有几个方法可以得到更好的训练数据:

    获取越大的数据库越好。DNN 对数据很饥渴,越多越好。

    去除所有包含损坏数据的训练样本,比如短文字,高度扭曲的图像,假输出标签,包含许多虚值(null values)的属性。

    Data Augmentation(数据扩张)——生成新样例。以图像为例,重新调节,增加噪声等等。

    1. 选择恰当的激励函数(activation function)
      激励函数是所有神经网络的核心部分之一。

    激励函数把渴望已久的非线性(non-linearity)加入了模型。多年来,Sigmoid 函数 一直是多数人倾向的选择。但是,Sigmoid 函数不可避免地存在两个缺陷:1. 尾部 sigmoids 的饱和,进一步导致梯度消失。2. 不以 0 为中心(输出在 0 到 1 之间)。

    一个更好的替代选择是 Tanh 函数。数学上来说,Tanh 只是调整、平移过的 Sigmoid 函数:tanh(x) = 2*sigmoid(x) - 1。虽然 Tanh 仍旧存在梯度消失的缺陷,但好消息是:Tanh 以 0 为中心。因此,把 Tanh 作为激励函数能更快地收敛(converge)。我发现使用 Tanh 通常比 Sigmoid 效果更好。

    你还可以探索其他选择,比如 ReLU, SoftSign 等等。对于一些特定任务, 它们能够改善上述问题。

    1. 隐藏单元和隐层(Hidden Units and Layers)的数量
      保留超出最优数量的隐藏单元,一般是比较保险的做法。这是因为任何正则化方法( regularization method)都会处理好超出的单元,至少在某种程度上是这样。在另一方面,保留比最优数量更少的隐藏单元,会导致更高的模型欠拟合(underfitting)几率。

    另外,当采用无监督预训练的表示时(unsupervised pre-trained representations,下文会做进一步解释),隐藏单元的最优数目一般会变得更大。因此,预训练的表示可能会包含许多不相关信息(对于特定任务)。通过增加隐藏单元的数目,模型会得到所需的灵活性,以在预训练表示中过滤出最合适的信息。

    选择隐层的最优数目比较直接。正如 Yoshua Bengio 在 Quora 中提到的:

    “你只需不停增加层,直到测试误差不再减少。”

    1. 权重初始化 (Weight Initialization)
      永远用小的随机数字初始化权重,以打破不同单元间的对称性(symmetry)。但权重应该是多小呢?推荐的上限是多少?用什么概率分布产生随机数字?

    当使用 Sigmoid 激励函数时,如果权重初始化为很大的数字,那么 sigmoid 会饱和(尾部区域),导致死神经元(dead neurons)。如果权重特别小,梯度也会很小。因此,最好是在中间区域选择权重,比如说那些围绕平均值均衡分布的数值。

    幸运的是,已经有许多关于初始权重合适取值的研究。这对于高效的收敛非常重要。为初始化均衡分布的权重,均匀分布(uniform distribution )或许是最好的选择之一。另外,就像论文中所展示的(Glorot and Bengio, 2010),有更多输入连接(fan_in)的单位,应该有相对更小的权重。

    多亏这些十分透彻的试验,现在我们已经有了经过检验的公式,可以直接用来权重的初始化。

    比如说在 ~ Uniform(-r, r) 提取的权重,对于 tanh 激励 r=sqrt(6/(fan_in+fan_out));对于 sigmoid 激励 r=4*(sqrt(6/fan_in+fan_out)) 。fan_in 是上一层的大小, 而 fan_out 是下一层的。

    1. 学习率
      这或许是最重要的超参数之一,调节着学习过程。如果学习率设置得太小,你的模型很可能需要 n 年来收敛。设置得太大,再加上不多的初始训练样本,你的损失可能会极高。一般来说,0.01 的学习率比较保险

    相比固定学习率,在每个周期、或每几千个样例后逐渐降低学习率是另一个选择。虽然这能更快地训练,但需要人工决定新的学习率。一般来说,学习率可以在每个周期后减半。几年前,这种策略十分普遍。

    幸运的是,我们现在有了更好的、基于动能(momentum based)的方法,来调整学习率。这取决于误差函数的曲率。另外,既然有些参数有更快、或更慢的学习速率;它或许能帮助我们针对模型中的单独参数,设定不同的学习率。

    最近有大量关于优化方法的研究,导致了自适应学习率(adaptive learning rates)。目前我们有许多选择,从老式动能方法( Momentum Method ),到 Adagrad、Adam (个人最爱)、 RMSProp 等等。;类似于 Adagrad 或 Adam 的方法,能替我们省去人工选择初始学习率的麻烦;给定合适的时间,模型会开始平滑地收敛。当然,选择一个特别合适的初始学习率仍然能起到帮助作用。

    1. 超参数调参:扔掉网格搜索,拥抱随机搜索
      网格搜索(Grid Search )在经典机器学习中十分普遍。但它在寻找 DNN 的最优超参数方面一点也不高效。这主要是由于 DNN 尝试不同超参数组合所耗费的时间。随着超参数不断增长,网格搜索需要的计算性能会指数级增长。

    有两种解决办法:

    取决于你之前的经验,你可以人工对部分常见超参数调参,比如学习率、隐层数目。

    采用随机搜索(random search),或者随机采样代替网格搜索,来选择最优超参数。

    超参数组合通常在期望范围之内、从均匀分布中被选择出来。加入之前获得的知识来进一步缩小搜寻空间,也是有可能的(比如,学习率不应该太大也不应该太小)。大家发现,随机搜索比网格搜索高效地多。

    1. 学习方法
      随机梯度下降( Stochastic Gradient Descent )的老方法也许对于 DNN 不是那么有效率(有例外)。最近,有许多研究聚焦于开发更灵活的优化算法,比如 Adagrad、Adam,、AdaDelta,、RMSProp 等等。在提供自适应学习率之外,这些复杂的方法还对于模型的不同参数使用不同的学习率,通常能有更平滑的收敛。把这些当做超参数是件好事,你应该每次都在训练数据的子集上试试它们。

    2. 权重的维度保持为 2 的幂
      即便是运行最先进的深度学习模型,使用最新、最强大的计算硬件,内存管理仍然在字节(byte)级别上进行。所以,把参数保持在 64, 128, 512, 1024 等 2 的次方永远是件好事。这也许能帮助分割矩阵和权重,导致学习效率的提升。当用 GPU 运算,这变得更明显。

    3. 无监督预训练(Unsupervised Pretraining )
      不管你进行的是 NLP(自然语言处理)、计算机视觉还是语音识别等任务,无监督预训练永远能帮助你训练监督、或其他无监督模型:NLP 中词向量就(Word Vectors)无所不在;你可以用 ImageNet 的数据库,使用无监督方式对你的模型预训练,或是对于两个类别的监督分类;或是更大频域的音频样本,来在扬声器消崎模型(speaker disambiguation model)中使用该信息。

    4. Mini-Batch(小批量) 对比随机学习(Stochastic Learning)
      训练一个模型的主要目的是学习合适的参数,即产生输入到输出的最优映射。这些参数利用每个训练样本进行调参,不管你决定使用 batch, mini-batch 还是随机学习。当采用随机学习方法时,学习每个训练样本后权重的梯度都会进行调参,向梯度加入噪音(随机学习中“随机”的由来)。这样做的结果十分理想,比如说,训练中加入的噪音使得模型更不容易过拟合。

    但是,随机学习方法也许效率不高。如今的计算设备有非常可观的运算能力,随机学习很可能会浪费其中的一大部分。如果我们能计算矩阵相乘,那么为什么要限制自己,重复单个矢量组之间的乘法呢?因此,为了更高的吞吐率和更快的学习,我推荐使用 mini-batch 而不是随机学习。

    但是,选择适当的 batch 规模同样重要。所以我们能保留一些噪音(相比大规模 batch),与此同时更高效地利用计算性能。一般来说,包含 16 个到 128 个样例的 batch(2 的幂)是不错的选择。通常,一旦你发现了更重要的超参数(通过随机搜索或是人工搜索),batch 规模就会确性下来。但是,有些场景中模型得到训练数据流(比如网络学习),那么采用随机学习就是不错的选择。

    1. 打乱训练样本
      这来自于信息理论(Information Theory)——“学习到一件不太可能发生的事却发生了,比学习一件很可能发生的事已经发生,包含更多的信息。”同样的,把训练样例的顺序随机化(在不同周期,或者 mini-batch),会导致更快的收敛。如果模型看到的很多样例不在同一种顺序下,运算速度会有小幅提升。

    2. 使用 Dropout 正则化
      如果有数百万的参数需要学习,正则化就是避免 DNN 过拟合的必须手段。你也可以继续使用 L1/L2 正则化,但 Dropout 是检查 DNN 过拟合的更好方式(雷锋网按:Dropout 是指随机让网络某些隐层节点的权重不工作,不工作的那些节点可以暂时认为不是网络结构的一部分,但是它的权重会保留下来)。执行 Dropout 很容易,并且通常能带来更快地学习。0.5 的默认值是一个不错的选择,当然,这取决于具体任务。如果模型不太复杂,0.2 的 Dropout 值或许就够了。

    在测试阶段,Dropout 应该被关闭,权重要调整到相应大小。只要对一个模型进行 Dropout 正则化,多一点训练时间,误差一定会降低。

    1. 周期 / 训练迭代次数
      “对深度学习模型进行多个周期的训练,会得到更好的模型”——我们经常听到这句话。但多少周期才是“多”呢?其实,这里有一个简单的策略:继续按照一个固定的样例数或者周期训练模型,比如两万个样例或者一个周期。在每批样例之后,比较测试误差(test error)和训练误差(train error),如果它们的差距在缩小,那么继续训练。另外,记得在每批训练之后,保存模型的参数,所以训练好之后你可以从多个模型中做选择。

    2. 可视化
      训练深度学习模型有上千种出差错的方式。我猜大家都遇到过这样的场景:模型已经训练了几个小时或者好几天,然而在训练完成之后,才意识到某个地方出问题了。为了不让你自己神经错乱,一定要对训练过程作可视化处理。比较显而易见的措施是保存或打印损失值、训练误差、测试误差等项目的日志。

    在此之外,一个很好的措施是采用可视化库(visualization library ),在几个训练样例之后、或者周期之间,生成权重柱状图。这或许能帮助我们追踪深度学习模型中的一些常见问题,比如梯度消失与梯度爆发(Exploding Gradient)。

    1. 使用支持 GPU 和自动微分法 (Automatic Differentiation)的库
      谢天谢地,对于快速创建原型模型,我们已经有了相当不错的库,比如 Theano, Tensorflow, Keras 等等。几乎所有这些深度学习库支持 GPU 计算和自动微分法。所以,你不需要深入研究核心 GPU 编程技术(除非你想——这绝对很有意思)。你也不需要写自己的微分代码——在非常复杂的模型上这相当费劲(但若需要,你应该有能力去做)。 Tensorflow还提供了分布式计算的支持——如果你是土豪的话.
    展开全文
  • 全面了解风控策略体系

    万次阅读 多人点赞 2020-06-28 14:09:48
    模型和策略的开发是一个系统工程,这其中需要有业务经验、统计理论、算法运用、和数据认知,是一个不断反思,不断积累经验的过程。沙滩上建不起摩天大楼。扎扎实实的基本功永远有价值,永远不会过时。

    模型和策略的开发是一个系统工程,这其中需要有业务经验、统计理论、算法运用、和数据认知,是一个不断反思,不断积累经验的过程。沙滩上建不起摩天大楼。扎扎实实的基本功永远有价值,永远不会过时。

    ——余旭鑫博士

    说明

    互联网风控是无边界的,几乎所有时间、所有地方、所有人都能以某种方式参与进来,未成年人、纳税人、老黑、赖鬼、企业风险管理者,众生芸芸,各自为阵,相克相生。

    互联网风控是半透明的,一半画地为牢,一半艳阳高照,一半立地为魔,一半得道成佛,喧闹中呼啸着裂骨寒风。

    互联网风控是无止境的,漏洞给了黑产机会,欺诈团伙便蜂拥而入。无限度纵容意味着背后有猫腻,无死角限制意味着眼前无格局。人性之光在和人性贪婪做斗争,谁输谁赢乾坤未定,既然未定。

    本人主业风控策略,虽然其他版块也略懂一二,但始终觉得能自以为豪的还是策略。既然有模型师、分析师、精算师,那么把这个行业的策略人员亲切的称作策略师,应该不算太过分。

    因规则话题较为敏感,所以本文主要描述策略框架、生成思路和科学部署方式,涉及到业内具体的风控规则,会做脱敏和加密处理。由于内容全面且广泛,需要其他知识晶体的支撑,为此文末特别新增【好文推荐】版块,向所有金融行业和风控领域的贡献者和参与者致敬。

    另外,涉及到信贷风控产品、流程、数据、指标、分析等知识的扩展,建议同学们可以先回顾一下其他板块相关文章:

    (一)全面了解信贷业务流程

    (二)全面了解量化风险管理

    (三)全面了解风控指标体系

    (四)全面了解风控数据体系

    (五)全面了解小微信贷风控

    (六)全面了解风控决策引擎

    本文由正阳执笔,思茂校正,同时感谢正阳学院近300位策略师的协同,全文总计5.0w字,因内容较长,固前设大纲,方便索引;后有推文,方便扩散。主体可分五部分展开阅读:

    • 1.策略先行之道
      • 策略定义
      • 策略特性
      • 策略类型
      • 决策路径
    • 2.信贷策略之法
      • 大道至简,有迹可寻
      • 五行生克,妙在均衡
      • 审时度势,伺机而动
      • 平台奠基,产品显形
      • 始于风控,精于运营
      • 潜心耕耘,推己及人
    • 3. 风控策略之规
      • 岗位职能,全
      • 营销获客,准
      • 贷前审批,严
      • 贷中监控,密
      • 贷后管理,勤
    • 4. 决策科学之术
      • 策略来源分类
      • 单条规则开发
      • 组合策略生成
      • 策略模型部署
      • 决策管理控制
    • 5. 终章·策略师
      • 策略师的道法规术
      • 策略师的格局
      • 策略师的策略
      • 策略师的行动

    阅读全文前,建议反复多看几遍目录

    图片

    本着对读者负责的态度,行文时尽可能做到以下几点:内容真实、结构完整、逻辑清晰、重点突出、删繁就简,用关键词、数据、配图案例体现信贷风控策略体系的分类、开发、规则以及决策科学等。由于专业领域和视野受限,难免有错漏或不当之处,会不断更新完善,敬请批评指正。如需了解更多,请关注知乎**“正阳”或微信公众号“正阳能量场”**!

    :后附本文引用及查阅文献清单,如有疏漏,请联系作者说明。文中内容如有侵权,首先请接受笔者诚恳道歉,后请联系笔者处理,感谢理解支持。


    1.策略先行之道

    本章内容偏心法和方法论,更适合管理层或着架构者。为求准确,本章大部分概念的解释来自百度百科,少部分来自于自己的创造,笔者将其统筹整理后在后文的策略应用方面做了一些延展,梳理、类比、归纳、关联、知识晶体是本章的关键。

    1.1 何为策略

    策略,指计策、谋略。一般是指:

    1. 可以实现目标的方案集合;

    2. 根据形势发展而制定的行动方针和应对方法;

    3. 有斗争艺术,能注意方式方法,能结合环境变化,能分析敌我优劣,能进行主被动调整。

    《论语》讲修身养德之策,《道德经》讲齐家治国之策,《孙子兵法》讲诡变兵战之策,《鬼谷子》讲内楗权谋之策,《国富论》讲国富民强之策,《博弈论》讲运筹对局之策。可见,古往今来,四海内外,物竞天择,万物可策。

    1.2 策略特性

    策略一词,覆盖面极为广泛,它可以建设于科学研究,也可以取源于市井民间;它可以带着浓厚的学术蕴底,也可以简单到一言以蔽;它可以解决世界难题,也可以顾及万民生息。它具有诸多概念的基本面,又有很多独具一格的特性,本节简而言之,从主动性、程序性、竞争性、选择性、预测性、有效性、局限性等方面切入策略的诸多特性。

    1.2.1 主动性

    一般决策者采用策略都是有意识的心理过程。对于较新的决策任务,决策者总是在有意识、有目的地思考着决策过程的计划。

    1.2.2 程序性

    策略是决策者制订的计划,由规则和技能构成。每一次决策都有相应的计划,每一次决策的策略也会有不同响应。它约束着决策时做什么不做什么、先做什么后做什么、用什么方式做、做到什么程度等诸多方面的问题。

    1.2.3 竞争性

    策略经常带有竞争气息,竞争就有优劣势之分,策略可以根据己方条件制定:

    优势策略:多维错维降维,参考字节跳动,欲速。

    劣势策略:寻找最优选择,参考田忌赛马,思变。

    均衡策略:输赢机会均等,参考囚徒困境,联邦。

    1.2.4 选择性

    策略的内核就是决策树中的一个个分支和选择,选择A产品或者B产品;选择A方式或者B方式;选择A理论或者B理论,选择A群体或者B群体。现着重介绍下企业用户增长策略中的头部效应、长尾效应、边缘效应。

    1.2.4.1 头部效应

    头部效应是指在一个领域中,第一名往往会获得更多的关注,拥有更多的资源,所在领域的赛道,要么高价值要么有优势。头部更接近垄断,头部意味着引导。商业银行依靠得天独厚的优势,钳制着互联网金融科技的命脉。

    1.2.4.2 长尾效应

    就人类需求来看,大部分需求会集中于头部,我们可以称之为流行。而分布在尾部的需求是个性化的、零散的、小量的、差异化的,这部分需求会在需求曲线上形成一条长长的“尾巴”。所谓长尾效应就在于它的数量,一旦累加起来,就会形成一个不容忽视甚至大于头部市场的市场。金融业下沉用户因缺乏征信记录,经常无法及时得到帮助,但他们才是普惠金融的核心。

    1.2.4.3 边缘效应

    边缘化是一个比较抽象的说法,是指向人或事物发展主流的反方向移动、变化,也就是非中心,非主流,或者说被主流(社会、人群、意识形态、文化、经济等)所排斥,所不包容。黑产很嚣张,但见不得天日。

    1.2.5 预测性

    策略的目的,多半在于预测事件结果。可理解为一个MVP流程:事件——策略——结果,也就是信息工程的输入——函数——响应,也就是量化分析中的数据——算法——模型。

    1.2.6 有效性

    所谓策略,实际上是相对效果和效率而言的。闭环策略较之随机策略,通常更为有效。

    1.2.7 局限性

    可以理解为不确定性,依赖对手或者环境的随机化。A环境下的优势策略,到B环境中,很有可能无效;A时间的策略,同样可能在B时间下无效。消费升级、消费降级下的信贷增长表现不同,长尾用户贷款需求不同,企业决策就不尽相同,应及时响应。

    1.3 策略类型

    高维空间下,我们就是上帝视角,眼中的一切,都有了方位性和层次感。

    1.3.1 宏观策略与微观策略

    宏观策略和微观策略可类比经济学中的两大课题:宏观经济学和微观经济学。宏观经济学是总量分析,即对能够反映整个经济运行情况的经济变量的决定、变动及其相互关系进行分析。微观经济学是个量分析,单个单位的最优化行为奠定了微观经济学的基础。

    就风险管理而言,宏观策略是基于组织的风险管理框架而制定与风险偏好和风险容忍度相一致的经营管理策略。在风险和收益相匹配的导向下,我们需要拟定组织风险管理的大方向,比如信用风险管理、市场风险管理、流动性风险管理、操作风险管理、战略、监管、舆情风险管理等等。在拟定宏观策略时候,需要了解业内相似的架构、宏观性政策性条文等,同时也要兼顾舆论,需要全面的风险观。而对于具体的执行面,就需要了解整个产品的流程、与客户相关的所有的风险信息等,这就是微观方面的策略。

    1.3.1.1 全局与局部

    全局指事物的整体及其发展的全过程;局部指组成事物整体的各个部分、方面以及发展的各个阶段。全局和局部的区分是相对的,在一定场合为全局(或局部),在另一场合则为局部(或全局)。全局由各个局部组成,高于局部,统率局部。局部是全局的一部分,对全局有不同程度的影响,在一定条件下对全局有决定意义。

    1.3.1.2 群体与个体

    “物以类聚,人以群分”。群体与个体相对,是个体的共同体。不同个体按某种特征结合在一起,进行共同活动、相互交往,就形成了群体。个体往往通过群体活动达到参加社会生活并成为社会成员的目的,并在群体中获得安全感、责任感、亲情、友情、关心和支持。在风险管理中,我们主要从识别、预防、传播等角度来观察群体和个体的行为差异。

    群体识别与个体识别

    群体识别:包括人群密度识别、群体一致性行为识别、群体异常行为识别等,主要方法有贝叶斯方法、支持向量机方法、关系特征抽取、关系挖掘、关系网络等。在识别群体风险上,则需要我们具备能够快速挖掘关系网络,总结关系规则的基础工具,在生产的时候我们又需要去保证能够实时的应用这些反欺诈规则进行团伙或者用户关联等的风险的评判。

    个体识别:个人识别是用科学的方法对活体进行个人同一认定,包括人脸识别、指纹识别、虹膜验证等生物识别,包括三要素身份验证等,也包括个体异常行为的识别。有些用户的基础信息不符合一个正常人的使用习惯,就能确认一个用户是异常的。技术上,主要通过个体数据相关的统计、可视化、规则、数据校验、统计特征、时序特征等方式来进行识别。在个体识别中,要强调时效性和感知性,提升用户体验。

    群体预防与个体预防

    群体预防:群体预防(colonyprevention)是疾病预防的一种策略,指包括健康人在内的整个人群的疾病预防。主要通过改善社会环境、消除潜在危险因素等方式,达到保持健康、预防疾病的目标。在信贷风控中可以表现为通过用户授权、保密协议、准入规则的规范性和一致性,来防治平台操作风险和合规风险的发生,强调人人平等。

    个体预防:个体预防强调异常性,如果命中某条规则,则视为有风险,就需要给予一定如拒绝、人工复审、搁置等的预防措施。

    图片

    群体传播与个体传播

    传播是一种社会性传递信息的行为,是个人之间、集体之间以及个人与集体之间交换、传递新闻、事实、意见的信息过程。在业务中,要防止个体事件向群体性事件的转变,导致由个体传播转变为群体传播,给企业带来公关上的风险。

    1.3.2 流式策略与箱式策略

    流式策略一般是动态的、连续的、可换的,而箱式策略的特点是静态的、封装的、固化的。本节的概念,大多来源于系统工程学和计算机科学领域,其在策略制定方面有非常丰富的类比性。第四章节的决策科学之术,有很多思路来源于本节的概念,建议深入思考,举一反三。

    1.3.2.1 启动与停止

    是一种工程上的安全性考量。包括策略启动前的检查、启动、运行中监视、故障原因及处理、紧急停止条件、停止等。

    1.3.2.2 前置与后置

    前置条件:发生的前提条件,满足什么条件才可以发生;

    后置条件:发生之后的结果,会产生哪些影响。

    另有说法:规则前置是规则,规则后置是套路。

    1.3.2.3 串行与并行

    在计算机之间、计算机内部各部分之间,通信可以以串行和并行的方式进行。一个并行连接通过多个通道在同一时间内传播多个数据流;而串行在同一时间内只连接传输一个数据流。所谓的串行策略和并行策略,指策略是先后执行有逻辑关系的,还是同时执行可替代或者加权的。

    1.3.2.4 同步与异步

    来源于计算机进程概念。

    同步:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面,如果关闭了,即迁移程序就中断了。

    异步:将用户请求放入消息队列,并反馈给用户,系统迁移程序已经启动,你可以关闭浏览器了。然后程序再慢慢地去写入数据库去。这就是异步。但是用户没有卡死的感觉,会告诉你,你的请求系统已经响应了。你可以关闭界面了。

    在审批中,常常遇到热点时间或者事件下的进程池卡顿问题,如果无法实现秒级响应和及时反馈,审批上会异常吃力,甚至带来严重的系统bug。

    1.3.2.5 即时和延时

    即时意味着发生即响应,延时则表明发生即监控,最后做响应。类比工作时收到微信消息,如果是紧急重要信息,及时回复;如果是日常信息,可以延时,但必须回复;如果是垃圾消息,可以不回复。在风控中,通常是一种反馈上的选择,如欺诈用户,可对其大量信息和行为收集完毕后,再给出最终的决策,这样可以让欺诈无法感知自己被拒的原因,也有助于保留信息的完整性。

    1.3.2.6 静态与动态

    静态和动态的概念分布很广,如博弈竞争中的静态博弈与动态博弈,企业战略管理的静态模式与动态模式,计算机语言中的静态分配与动态分配。在策略方面,静态指无特殊事件发生时保持不变,如年龄等准入规则。动态指随环境、政策、分析、时序等因素实时调动,如多头规则的监测及调整。

    1.3.3 基本策略与支持策略

    1.3.3.1 观察与调优

    强调可修复。单个策略如果失效可以可根据统计或算法及时调整。

    1.3.3.2 循环与嵌套

    强调可迭代。单个策略可根据历史表现和未来预测进行自我调节。

    1.3.3.3 执行与替代

    强调可替换。多个策略功能相似,一旦出现问题,可以用B策略及时替代A策略。

    1.3.3.4 存量与增量

    强调可补充。多个策略功能不同,如有必要,可在原有基础上新增备用策略,有备无患。

    1.3.2.5 单一与混合

    强调可覆盖。在无法用单一策略做决策时,可以用打包策略覆盖单个策略的不足,宁错杀不放过。

    1.3.4 硬策略与软策略

    首先说一下风险管理中政策和策略之间的不同点,政策规定了哪些能做与不能做,可以理解为硬规则;策略解释了怎么做,可以不断进行调整,理解为软规则。在风控策略制定的过程中,通常会借助经验与阈值、分群与分层、异常与孤立、可视与隐藏等思路,来影响规则制定的强弱选择。

    1.3.4.1 经验与阈值

    风控主要经历了几个阶段:

    经验:直接判断通过,或不通过。

    数据:可以通过客户的资产,流水,来判断客户的资质优劣。

    模型:通过数据分析、数据挖掘,找到相应的规律,识别出人工难以找到的部分人群。

    但是,数据是有限的,成本很高,会限制风控的上限;同时,如何有效的结合经验、数据、模型,来实现业务目标,这就需要统筹的风控策略来完成。

    许多前辈认为在金融风控领域里,策略即规则,所以也常听说风控就是策略和模型的加成。不过笔者认为策略是方案,包括了规则、模型以及其他一些逻辑性的串联。

    规则:主要由数据和经验共同驱动。

    阈值:主要由数据和算法共同驱动。

    人工:主要由业务和经验共同驱动。

    规则与模型的作用可以看成用于给客群分层,目的是为了高风险的过滤或者授信不同APR的产品和额度。规则与模型互相补充,相互作用。

    1.3.4.2 分群与分层

    用户分层和用户分群都是将用户分成不同的类别,以此来区别对待不同的用户。用户分层, 是基于大方向的划分, 而用户分群, 则是将这些层次切分成更细的粒度。分层和分群用户,可能采用几套完全不同的策略,分而治之。具体方法,后文详解。

    1.3.4.3 异常与孤立

    **异常点:**异常点是指数据集、群体中和其它点不一样的点,分为点异常和集合异常,异常检测就是要找到这些点。

    离群点:也叫孤立点,孤立点是指不符合数据一般模型的数据,区分于内点、聚点等,在挖掘正常类知识时,通常总是把它们作为噪声来处理。

    异常点可以理解为边界之外的,要特别重视和区别对待。边界也分两种:别人的边界和自己的边界。孤立点可以理解为群体中被孤立的,同样需要有所区分。

    1.3.4.4 可视与隐藏

    来源于编程语言,即元素的显示与隐藏。就策略而言,通常黑盒隐藏,但也有显示的情况,比如QQ会员等级提升的依据和建议,比如蚂蚁花呗信用分增长的方法,这些规则都以可视的方式提供给用户,人人皆知悉,则人人皆遵守。作为一种群体策略,合适的展示可以起到用户教育的作用。

    1.4 决策路径

    对消费者来说有消费路径,对系统工程来说有控制路径,那么对决策者来说,就有一条点到点之间的决策路径。在此推荐正阳十二字解惑心法:目标紧、策略准、执行狠、复盘稳,以此来统领本节后文。

    1.4.1 判断驱动因素

    驱动因素有别于影响因素:驱动机制往往能使事件带来影响力较大的后果,常常是一个重大的举措,影响因素也会产生影响,但不一定带来重大后果。驱动常常以政治化或者文件性的书面表达形式呈现,较为严谨正式,而影响因素常常是小事件或者通用的事件。

    理念驱动:企业理念是企业文化中的重要组成部分,是企业精神活动和智慧的结晶,也是企业实践成果提升和总结的精髓。理念通常是影响决策第一道因素也是最后一道因素。

    政策驱动:政策驱动常常是某一领域的动力发生点。当政治、经济、贸易、科技、服务、教育、医疗等等各大系统运转的时候,设置发展动力点是企业新动能的根本。

    资源驱动:在对接的双边市场中,进行资源与需求的对接时,平台的核心竞争力在于服务资源的聚集能力。平台在发展初期需要从核心资源用户切入,整合服务资源向服务需求方推广,形成在服务链条上的自上而下的商业发展路径。

    用户驱动:在切入某块市场区域时,以锁定市场中的核心用户,满足用户的核心需求为切入点,快速获取用户,占领市场,并且由核心服务为中心,向周边的其他基础服务需求延伸,打造完整的商业模式。

    系统驱动:对于企业来说,优秀的企业有优秀的系统,普通的企业有普通的系统,失败的企业没有系统。企业间的竞争,不再是一对一的竞争,而是系统与系统的竞争。

    模式驱动:运营模式、代理模式、移动互联网化等,市场红利开始时,通常是商业模式的转变驱动企业的发展变化。

    技术驱动:技术意味着创新,腾讯、阿里、华为,在云计算、人工智能、区块链、5G方面的研究,一定程度上指点着江山。当今时代背景下,技术意味着竞争力。

    产品驱动:区别于运营驱动。虽然都是为了商业利益,但获得利益的起点不同,产品驱动和运营驱动有一个很大的区别:前者技术型,后者业务型。

    业务驱动:对业务的价值把握以及业务流程有一定的深入理解,并沉淀为行业经验。了解每个技术的亮点与应用场景,能熟练的通过这些工具去解决不通业务的问题,是每个人技术型策略人员的终身目标。

    事件驱动:事件驱动是指在持续事务管理过程中,进行决策的一种策略,即跟随当前时间点上出现的事件,调动可用资源,执行相关任务,使不断出现的问题得以解决,防止事务堆积。

    需求驱动:技术的变革,通常来源于用户需求的驱动。

    驱动因素分析:分为两步:辨认各种驱动因素,估量出驱动因素将会对行业产生的影响。

    1.4.2 激发思维模式

    目标思维:确立目标后,一步一步去实现其目标的思维方法。其思维过程具有指向性、层次性。

    逻辑思维:逻辑思维是指将思维内容联结、组织在一起的方式或形式。

    形象思维:通过形象来进行思维的方法。它具有的形象性、感情性,是区别于抽象思维的重要标志。

    全域思维:有些看似局部的事物,在更小的尺度空间观察时可以表现为整体。

    局部思维:有些看似整体的事物,在更大的尺度空间观察时可能表现为局部。

    缩放思维:切换视角,用放大镜、显微镜、平面镜思维度量全局形态和局部动态。

    发散思维:根据已有的某一点信息,然后运用已知的知识、经验,通过推测、想象,沿着不同的方向去思考,重组记忆中的信息和眼前的信息,产生新的信息。它可分流畅性、变通性、独创性三个层次。

    聚合思维:又称求同思维。是指从不同来源、不同材料、不同方向探求一个正确答案的思维过程和方法。

    归纳思维:根据一般寓于特殊之中的原理而进行推理的一种思维形式。

    演绎思维:从普遍到特殊的思维方法,具体形式有三段论、联言推理、假言推理、选言推理等。

    联想思维:相似联想、接近联想、对比联想、因果联想。

    迁移思维:是指把某一领域的科学技术成果运用到其他领域的一种创造性思维方法,仿生学是典型的事例。

    辩证思维:辩证思维是反映和符合客观事物辩证发展过程及其规律性的思维,分客观辩证法和认识过程辩证法等。辩证思维的特点是在对象内在矛盾的运动变化中,从其各个方面的相互联系中进行考察,以便从整体上、本质上完整地认识对象。

    究根思维:究根思维是一种价值思维,它要求把一件事物分成若干部分,找出最关键最本质的那一部分。

    线性思维:由一件事物经过演变而发展成另外一件事物。

    逆向思维:是目标思维的对应面,从目标点反推出条件、原因的思维方法。它也是一种有效的创新方法。

    直觉思维:是指对一个问题未经逐步分析,仅依据内因的感知迅速地对问题答案作出判断,猜想、设想,或者在对疑难百思不得其解之中,突然对问题有“灵感”和“顿悟”,甚至对未来事物的结果有“预感”“预言”等都是直觉思维。

    量化思维:有一维量化、多维量化、多维嵌套量化之分。量化思维是一种数字化思维,是认知中对事物的条理化分析。

    产品思维:产品思维的核心就是:发现问题,分析问题,解决问题。与用户的共情、换位思考、高维思考、取舍、洞察等,都是产品思维的高光表现。

    1.4.3 借助科学分析

    利弊分析法:SWOT分析,明确指出研究的问题及其对策,列出这一对策的优点、缺点,确定几个简明的判断标准,综合判断对策的可取性,研究如何加以改进。简单地说就是一个问题分成两半来回答,一半只说好的,一半只说坏的。

    矩阵分析法:矩阵图上各元素间的关系如果能用数据定量化表示,就能更准确地整理和分析结果。这种可以用数据表示的矩阵图法,叫做矩阵数据分析法。例如常见的混淆矩阵,就是一种定量分析问题的方法。

    决策树分析:决策树分析法是一种运用概率与图论中的树对决策中的不同方案进行比较,从而获得最优方案的风险型决策方法。它利用了概率论的原理,常用来做风险分析决策。

    概率树分析:概率分析又称风险分析,是通过研究各种不确定性因素发生不同变动幅度的概率分布及其对项目经济效益指标的影响, 对项目可行性和风险性以及方案优劣作出判断的一种不确定性分析法 。概率分析常用于对大中型重要若干项目的评估和决策之中。

    加权排序法:就是将重要因素加以排序,根据重要的程度赋予不同的值,然后和当前的结果相乘,得到一个新的结果,依此决定重要程度。

    效用分析法:效用分析决策法是风险型决策的基本方法之一。它是利用效用价值的理论和方法,对风险和收益进行比较,从而进行决策的方法。它不仅为咨询部门提供了判断决策者所提供的方案的可能性,而且为比较不同的决策方法对决策的影响,提高决策的质量提供了条件,深受企业组织的青睐。

    假设测试法:也叫假设检验,又称统计假设检验,是用来判断样本与样本、样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法。显著性检验是假设检验中最常用的一种方法,也是一种最基本的统计推断形式,其基本原理是先对总体的特征做出某种假设,然后通过抽样研究的统计推理,对此假设应该被拒绝还是接受做出推断。常用的假设检验方法有Z检验、t检验、卡方检验、F检验等。

    1.4.4 付诸有效行动

    有效行动:针对目标,有效行动,与目标无关的动作不必做,与结果无关的事件不必管。

    条件行动:博弈论中,将策略行动分为有条件行动和无条件行动,即当己方可以先出招时,所制定的回应规则,其目的是改变对方的预期,从而改变博弈的结果,抢占先机,率先出招。

    执行动作:威胁与许诺,警告与保证,时报的策略等。

    1.4.5 完成闭环复盘

    闭环:一方面,把整个策略管理看作一个闭环系统,并把该系统中的各项专业管理如:决策路径、驱动因素、思维模式、成本考量、人事环境、安全漏洞等作为闭环子系统,使系统和子系统内的管理构成连续封闭和回路且使系统活动维持在一个平衡点上。另一方面,对变化进行灵敏、正确有力的信息反馈并作出相应变革,使矛盾和问题得到及时解决。

    决策、控制、反馈、再决策、再控制、再反馈…从而在循环积累中不断提高,促进策略不断发展。

    复盘:复盘,围棋术语,也称 “复局”,指对局完毕后,复演该盘棋的记录,以检查对局中招法的优劣与得失关键。一般用以自学,或请高手给予指导分析。具体为把整个思维过程客观地表现出来,即当时是如何想的,为什么“走”这一步,如何设计,预想接下来的几步的。在复盘中,双方进行双向交流,对自己、对对方走的每一步的成败得失进行分析,同时提出假设:如果不这样走,还可以怎样走;怎样走,才是最佳方案。

    通过复盘,当某种熟悉的类似的局面出现在面前的时候,往往能够知道将如何去应对,脑海中就会出现多种应对的方法,或者可以敏锐的感觉当前所处的状态,从而对下一步的走向作出判断。


    2.信贷策略之法

    2.1 大道至简,有迹可寻

    《易经》中“易”有三义,即变易、简易、不易。

    变易:世上之人事,乃至宇宙万物,没有一样东西是不变的。

    简易:宇宙间的任何事物,有其事必有其理,只是我们的智慧不够、经验不足,找不出它的原理而已,当智慧够了,解其本质,就变成为平凡且简单。

    不易:万事万物随时随地都在变的,可是却有一项永远不变的东西存在,就是能变出来万象的那个东西是不变的,那是永恒存在的。

    2.1.1 地摊经济与信贷业务

    **地摊经济:**宏观政策支持——地方平台开放——面向对象选品——营销策划拉新——经营管理促活

    **信贷业务:**政策环境推动——金融体系建设——企业产品设计——贷前风险管理——贷后客户运营

    由此可见,本质上信贷也是一种不难理解的企业经营模式。我们可以简单把信贷业务的总体策略简化为一种地摊经济的策略,微观上的细节会比较复杂,但宏观上的道理却极其简单。

    政策环境告诉我们什么能做什么不能做,平台建设告诉我们可以在哪做可以怎么做,产品设计指导我们该怎么做要怎么做,风险管理告诉我们谁能做谁不能做,而要想真正盈利,则需要靠客户运营来实现,它告诉我们怎么做才能更好。通俗点讲,政策平台产品是指我们做什么生意,风控是指我们要和哪些人做生意,运营是指我们如何把生意做大做久。

    2.1.2 信贷风险管理五大维度

    基于这个逻辑进一步思考一下,就可以将信贷业务风险管理拆解为五个维度(层次):

    政策面:国家风险、宏观经济风险、购买力风险、利率风险、汇率风险、市场风险等。

    平台面:合规风险、财务风险、经营风险、流动性风险、声誉风险、法律风险、战略风险等。

    产品面:后台漏洞、产品缺陷、数据安全、内容安全等。

    风控面:欺诈风险、信用风险等。

    运营面:操作风险、人员风险、活动风险等。

    2.2 五行生克,妙在均衡

    2.2.1 行业生态

    当局者:做局者——困局者——搅局者——破局者——守局者

    行业生态:商业银行——监管科技——网络金融——金融科技——消费市场

    只要消费市场还在,局就在,大家就在。

    图片

    2.2.2 业务线条

    经营线条:政策环境——平台建设——产品设计——风险管理——客户运营

    组织架构:法务部——业管部——产品部——风控部——运营部

    五行相生相克,在业务开展过程中,每个人都不是孤立的,也不是单向的。

    图片

    2.3 审时度势,伺机而动

    随着消费降级,社会消费品总额增长放缓,居民狭义的负债率攀升,以及银行不良贷款率增长的态势,当前的信贷市场和几年前比发生了非常大的变化。金融科技、监管科技的发展,也让整个信贷市场的平台产品、风险管理和客户运营更加透明化、科技化、智能化、精细化。另外,随着国民风险教育的提升,消费市场对于金融产品有了逆向选择的权利,良好的产品设计、用户体验,是未来优势信贷产品的基本要求。

    2.3.1 商业银行买马招兵

    现状:互联网金融的快速发展使商业银行信贷业务的主体地位受到冲击,行业渗透率下降,业务收入利润减少,客户资源大批流失。网络平台的借贷服务,逐渐取代银行相关功能。

    分析:一方面,互联网金融模式下,市场开放,利率等因素由借贷双方共同决定,借贷双方各种资金和信息资源,不在集中在银行手中,银行中介作用降低。另一方面,银行信贷业务流程弊端严重,贷款程序复杂,响应过于缓慢,人力成本、时间成本、场地成本高。而担保和抵押,不再是风险控制最重要的手段,敏捷化、智能化、数据化服务用户的趋势,迫在眉睫。

    解决:商业银行受到刺激,被迫创新,多方位入手,提升市场竞争力:

    宏观导向方面:深入以客户为中心的思想,重视下沉群体和小微企业的融资难的问题。在政策扶持和疫情刺激下,有序开展小微信贷业务等。

    平台机制方面:成立金融事业部或者独立运营的金融科技子公司,跨板块经营,追求创新,加强与互联网金融合作,拓展信贷业务服务渠道等。

    产品设计方面:参考其他互联网产品推出自己的网贷产品,通过系统的分析和考量,开发适合本银行的软件系统和更多适应用户需求的产品,加上银行本身在专业性和安全性上具有明显优势,更能获得消费者接受。

    人才建设方面:招兵买马,培养金融和互联网方面复合型人才,通过技术和经验,加强多方信息资源共享的合作。

    2.3.2 监管科技循序渐进

    原则:隐私保护、禁止歧视、公平信贷、资本要求。

    探索:沙盒监管、服水土、吃百家饭博采众长、探索新的合作模式、培育良好的产业生态。

    科技:搭建监管科技体系,如身份识别、行为监控、合规数据报送、法律法规跟踪、风险数据融合分析、区块链管理、金融机构压力测试等。

    2.3.3 互联金融领异标新

    优势:互联网金融产品,一定程度上弥补了我国金融市场信贷产品的缺陷。它可以及时有效交换信息,减少信息不对称对借贷双方带来的损失。借助大数据进行群体和个体分析和预测,基于客户信用评级,相应降低逆向选择的道德风险。

    原则:互联网贷款应遵循小额、短期、高效和风险可控原则。单户用于消费的个人信用贷款授信额度应当不超过人民币20万元,到期一次性还本的,授信期限不超过一年。

    发展:如何提升信贷产品的个性化和服务的多样化;提升客户的服务质量和体验;如何避免资金和客户流失;如何对当前的信贷业务进行拓展和创新;如何对自身渠道进行建设。

    2.3.4 金融科技锻矛铸盾

    金融科技主要指运用前沿成果(如:人工智能 如:人工智能 、区块链 、大数据 、云计算 、物联网等 )改造或创新金融产品 、经营模式 、业务流程 ,以及推动金融发展提质增效的一类技术 。

    锻矛:云计算披荆斩棘,深度挖掘用户价值。

    铸盾:大数据降本增效,全面抵抗业务风险。

    2.3.5 消费市场逆选逆控

    逆向选择:好的产品需要好的用户去体验并推广,随着信息不对称的减弱,人群逆向选择的主动性在增强。

    逆向监督:真正的监管,并非完全依赖监管机构,更需要消费市场集合起来,借集体的力量,引导正确的行业生态和商业价值观。

    金融机构对消费市场及用户了解越深入,越容易设计出被大众接受的产品。

    2.4 平台奠基,产品显形

    2.4.1 雕刻平台基因

    商业观:有清醒的商业认知和商业洞察。银行无法满足的小额贷款需求,互联网金融机构及产品给予满足。银行做不好的,自然有人需要去做。

    人才观:一般而言,人才的本质特征主要有以下几点:有才能;有远见;有较强的开拓、创新能力等等,这也是就业市场和人才市场强者恒强的体现。

    价值观:价值观是基于一定的思维感官之上而作出的认知、理解、判断或抉择,具有稳定性和持久性、历史性与选择性、主观性的特点。平台三观正,便能吸引人才,创造边际价值。

    经营理念:所谓经营理念,就是管理者追求企业绩效的根据,是用户、竞争者以及职工价值观与正确经营行为的确认,然后在此基础上形成企业基本设想与科技优势、发展方向、共同信念和企业追求的经营目标。

    平台基因:80后、90后、00后,都自带时代的基因,这种基因来源于对上一代的继承,同时也意味着不断的创新。对于平台而言,从出生起便自带基因,而这种基因通常来源于创始人,发扬于企业文化。

    2.4.2 延展业务生命

    启动期:比较杂乱,资金、人员、技术和工艺等都比较薄弱,管理没有真正形成。

    发展期:经过一段时间的发展,企业已经有一定规模,在个方面积累了一定的基础,呈现发展的态势。

    成熟期:企业发展到一个鼎盛时期,规模较以前明显增大,人员稳定,工艺技术成熟,管理有自己的风格,有一定的竞争实力。

    转变期:随着科技的进步,业务总会有替代品出现,此时就需要转型。

    衰退期:企业无法发展下去,勉强维持生产经营面或者临着内忧外患,经营困难,员工流失严重,企业人心动荡,濒临倒闭。

    2.4.3 打造优势产品

    产品经理需要有更多的策略思维,同样,策略经理需要有更多的产品思维。

    2.4.3.1 信息整理

    任何商业行为的发起和推动,核心在于掌握信息的全面性、真实性、有效性,也就是对所处领域宏观及细节的了解。

    了解行业:了解宏观环境、细分行业、地域特性,政府扶助政策等。

    了解需求:消费贷产品的特点是;小额贷款产品的特点是额度低、周期短、灵活性强、客户体量大、通过续贷获利等。

    了解客群 :消费贷客群的特征是;现金贷客群的特征是:年轻人、低收入、无稳定工作、集中在三四线城市等,这些人相对下沉,不被传统金融机构服务,风险成本高,催收难度较大。

    2.4.3.2 产品设计

    产品设计方方面面,如账户开户、充值发标等,建议大家完整的了解产品设计流程,本节抛砖引玉:

    产品定位:循环贷、消费贷、现金贷、汽车贷、抵押贷等。

    业务周期:羊毛期、启动期、发展期、扩张期、成熟期等。

    流程设计:根据产品解决用户核心问题的顺序所梳理的完整的闭环流程,包括前端和后端两方面,线上和线下两部分。

    用户体验:是用户在使用产品过程中建立起来的一种纯主观感受,但是对于一个界定明确的用户群体来讲,其用户体验的共性是能够经由良好设计实验来认识到。用户体验没有确切的标准,它随着网站的服务色彩与针对人群不同采取的方式也不同。

    用户授权:授权机制,是手机操作系统安全机制中的一部分,在开发应用时需要用到各种各样的手机系统权限。一般来说,在操作系统中权限会被分类,有些权限级别较低,应用只需在开发时声明即可使用;而与用户有关的权限级别都非常高,需要用户亲自授权才可以。产品中的功能经常会涉及到这些权限,为了能使应用正常使用,从而给用户带来更好的体验,便需要用户授予相关权限。

    风险定价:风险定价有两个关键点:第一,降低成本,包括获客成本、运营成本、资金成本和风险成本等,是定价的基础;第二,认识用户,将客群分级,精细化运营。

    风险定价的核心思路,主要有以下几点:

    第一人群的划分,面对什么样的客群,客群的划分是否准确清晰,正所谓物以类聚,人以群分;

    第二风险评估预测,这个客群的风险表现到底是怎样的,会产生多少的90+的坏账率;

    第三成本分摊,将获客成本,资金成本,催收成本等涉及到信贷环节的支出分摊到每个客群上。具体的常用定价方法有两种:基准利率定价法和客户盈利分析法

    基准利率定价法=基准利率 + 违约风险溢价 + 期限风险溢价;

    客户盈利分析法,从某一客户的身上获得的整体收益,是否能满足整体的利润要求,也就是根据成本和收益核算,对应的公式是:贷款成本 = 资金成本 + 风险成本 + 运营成本 + 预期收益金额;

    对于互联网消费金融来说,合适的定价方式是采用客户盈利分析法,定价费率(预期利润) = 综合成本 + 风险溢价 + 预期收益

    2.4.3.3 技术支持

    诸如:平台建设、框架设计、系统功能、接口开发、页面设计、版本控制等。

    2.4.3.4 数据建设

    诸如:数据化建设、数据埋点、数据获取、数据接入、数据分层、数据管理、数据存储等。

    2.5 始于风控,精于运营

    风险类型:金融的本质是将风险偏好不同的资金供给方和风险不同的资金需求方匹配起来,因此风控是所有金融业务的核心。金融业务风险可以分为信用风险、市场风险、操作风险、流动性风险、国家(政策)风险、法律风险、声誉风险和战略风险。

    风险管理策略:是指企业根据自身条件和外部环境,围绕企业发展战略,确定风险偏好、风险承受度、风险管理有效标准,选择风险承担、风险规避、风险转移、风险转换、风险对冲、风险补偿、风险控制等合适的风险管理工具的总体策略,并确定风险管理所需人力和财力资源的配置原则。

    信贷风控策略:主要是根据不同业务场景,针对目标客群,通过一系列规则,对客户进行筛选和分类,发现风险点(包括:信用卡欺诈、团伙窝案、高危用户等),降低风险,同时降低成本、提升效率,实现反欺诈,授信,风险定价,催收等各阶段目标。

    信贷运营策略:则是

    2.5.1 关键概念

    思路:最大效率、最小成本的基础上避免伤害。

    2.5.1.1 最短路径

    最短路径:最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。如果将审批发起和完成决策视作两个节点,那么节点中的路径就由准入、反欺诈、授信、定额等环节组成,每一个环节又由不同规则集组成。好的决策路径不止一条,通常,我们要找到的是最优方案集合中最短的那条决策路径。

    路径算法:用于解决最短路径问题的算法被称做“最短路径算法”, 有时被简称作“路径算法”。 最常用的路径算法有:

    Dijkstra算法

    SPFA算法\Bellman-Ford算法

    Floyd算法\Floyd-Warshall算法

    2.5.1.2 最小成本

    平台成本:在工业生产中,最佳生产要素组合是两要素的边际产量之比等于价格之比,涉及到平均成本、可变成本、边际成本等概念。我们做风控策略,需结合数据获取成本、模型研发成本、用户信用风险成本、平台运营成本等因素去探索信贷决策分析中成本最小化情况下的最佳实现方法。

    **用户成本:**大多数风控策略都会给平台用户造成额外成本,风控人员的附加期望也会给用户增加更多限制,如补充更多信息才能申请,(例:联系人手机号等信息),如获取更多权限才能申请(例:通讯录权限),这样的条件对用户来说意味着更高的交换成本。用户成本增高,信用风险随之增高。

    2.5.1.3 避免伤害

    对平台的伤害:类似交易类平台刷补贴,互金平台各类欺诈,共享单车平台用户恶意损坏单车,现金贷平台提现失败等,对平台建设来说都是不小的风险事件。

    **对用户的伤害:**内容/社交平台的垃圾信息,交易类平台的恶意取消等,都会对用户造成一定的伤害,信贷业务中,任何高召回的策略都存在一定概率的误伤,在信用风险混淆矩阵中,通常高召回率对应着高误杀率,cutoff的选择直接反映了策略师的专业度和风险偏好,误杀大概率意味着客户对本产品的第一印象非常差。

    2.5.2 核心思路

    2.5.2.1 找

    强调主动性:市场竞争形势严峻,如果平台不够大不够知名,客户通常不会主动上门,甚至找不到门在哪里。那么,业务的拓展,就基本依赖于前线市场团队的开山、铺路、搭桥,不论是线下行销,还是电话营销,本质上平台都需要从思维和行动上主动“寻找”客户。对于现金贷平台来说,主动找上门来的和没有渠道标记的客户,风险通常相对较高。

    2.5.2.1 挡

    强调原则性:在拓客过程中,我们通常无法第一时间判断用户各类风险的高低,而一旦进入到风险识别环节,首先要做的就是将涉及到政策风险或者企业平台风险的客户识别并婉拒,这类客户即使信用良好,但因诸多强规则和不可控因素,还是需要暂时“拒”之门外。但是,如有必要则需给予一定的“拒绝原因”提示,以达到平台最大限度客户教育和长久上挽留客户的目的,这也是用户体验的一部分。

    2.5.2.2 抓

    强调破坏性:该类客户,通常以有组织有纪律有目的的形式对新平台新产品虎视眈眈群起攻之,而平台多半的损失是由这类行为造成的,如:羊毛党、黑产、撞库等,该类风险,不仅意味着财务损失,更有企业信息安全方面的风险。“挡”不住的,就“抓”住,然后看啥时候心情好,摁在地上摩擦。

    2.5.2.3 估

    强调预测性:挡住一部分,抓住一部分,剩下一部分。那么剩下的这部分用户,便是企业目标用户,在整个生命周期中,不仅需要对其进行风险管理,还要考虑到交易后的用户运营以及用户违约之后的催收回收。因此,我们需要通过构建用户风险画像、行为画像、消费画像、资产画像等的方式来进行评估、分层、分群、甚至分时段精准个性化服务。“估”字写起来很简单,做好却不容易。

    2.5.2.4 奖

    强调正义性:有这么几句话:①产品对用户的吸引,来源于奖励。②用户对平台的忠心,强化于奖励。③为用户生成的内容给予奖励,是一种回报。④用户获得奖励,会更愿意主动分享。

    强者恒强,弱者恒弱,好的愈好,坏的愈坏,多则越多,少则越少,这就是现实的规律——马太效应。平台对于用户良性行为给予一定的奖励,不仅仅是一种认可和表扬,可以激发用户更多的消费行为,更是一种对正义行动的鼓励和支持,代表着一种正向的平台价值观。

    2.5.2.5 惩

    强调严重性:一方面,降低【欺诈者】的收益,如取消优惠券,刷单作弊自然没有了。另一方面,提高【欺诈者】的成本,对于欺诈用户,在行业征信库中共享名单信息,使其一家黑则家家黑。另外,为填补风控漏洞而更改的产品流程,同时增加了用户成本。对于前置规则识别出的明显团伙类欺诈者,可以在产品设计上增加更多的信息验证环节,增加家庭地址、单位地址、设备信息等,使其边际收益降低。

    2.5.3 基本流程

    图片

    (图片来源:艾瑞研究院)

    2.5.3.1 营销获客

    市场营销是信用风险管理的第一环节,与业务运营的其他环节一样,营销也有成本,也就意味着需要精细化管理。尽管人们在很多年前就意识到信贷部门和市场部门的交流很有必要,但这种交流一直都不太频繁,因此作用甚微。

    理解与协同:通常,业务部门是开放的,信贷部门是保守的。市场营销的目标是吸引业务,它们关注数量;而信贷的目标是控制风险,更关注质量,这两个目标互相矛盾。如今,二者关系更加协调,市场部门的目标在于吸引被接受可能性更高的业务;而信贷部门的目标是在控制风险的同时使资产收益最大化。如果市场部门掌握信贷程序的知识并使用适当媒体来制定目标,明确地宣传,那么接受率会大幅提升。同样,如果信贷部门对即将推行的广告有所了解,就能确保申请程序提供适当资源,还能按照实际情况及时调整策略。

    2.5.3.2 申请审核

    据统计,80%的可测可控风险在审批时就已经决定了。申请审批是发展业务的开始,是客户与公司最初或唯一的联系。所以为了给用户建立较好的第一印象,审批流程、审批数量、审批效率、用户体验等,就都是需要关注的点。

    影响因素:准确性、周转率、采用率、完成率、灵活度、灵敏度、透明度等。

    审批流程:收集客户信息、申请信息、物理采集、初筛和清洗。

    策略分类:内部调查、外部调查、度量决策。

    图片

    **决策执行:**拒绝、向下销售、接受。

    图片

    2.5.3.3 欺诈防范

    毫无疑问,欺诈大幅提升了业务成本,甚至会导致公司破产。除了显而易见的财产损失,建立和维护反欺诈系统,以及欺诈审查对客户服务造成的影响也都会产生成本。

    反欺诈要在所有产品而不是单一业务线上开展。按照欺诈主体,欺诈类型可分为:

    第一方:合法的账户持有人粉饰信息申请贷款产品,之后首次还款就违约,没有还款意愿。

    第二方:有自愿且合法的另一方在交易中出现,如收款人或商家。交易金额比真实需求高。

    第三方:非关联方,在交易过程中没有合法地位。这类欺诈给贷款机构带来了最多的损失,包括失窃、盗用、未收到、未达卡、伪造等。

    常见的欺诈侦测工具又包括:

    交叉产品:贷款机构共享欺诈数据库,提供全行业的反欺诈水平。

    数据共享:反欺诈系统应该是模块化的,能够适应新的数据量和数据源。

    团伙打击:不只关注单个欺诈分子及其行为,建立诈骗网络,防范有组织犯罪,整体处理效果更好。

    法律执行:最大限度地将欺诈案件移交司法机关处理。

    2.5.3.4 账户管理

    账户管理涵盖了管理现有账户关系的所有前台和后台工作,包括账单、支付、额度、续约、催收、回收、追踪等。在信用风险管理周期中,它更多地指对正常账户的管理,排除了催收和欺诈账户。账户管理的目的是管理客户对信贷的需求,让他们不断使用更多产品。账户管理包括贷中风险预测、额度管理、还款提醒、客情维护等。

    2.5.3.5 催收回收

    催收回收与账户管理最主要的区别在于前者很紧急!简略总结为:

    账户管理:对正常账户的日程管理,维持其令人满意的状态,重点在于客户满意度并发展客户关系。

    催收:对早期的逾期行为和首次不履约的客户进行提醒,重点在于解决问题并维持客户关系。

    回收:处理严重逾期行为和再犯客户,重点在于收回欠款并断绝客户关系。

    因此,对于催收和回收,讲究时机,也讲究策略。

    催收过程

    图片

    2.5.4 独特方法

    名单库、打标、分类、分群、分层等方式,都是差异化风控和精细化运营的一种手段,既有利于定向精准营销,又有利于差异化定额定价降低违约损失,还能在贷后施加不同的监控和还款提醒、催收措施,总体来说可以降本增效。举个例子,评分模型最好不要一刀切,而是分为ABCDE五个等级,不同等级区间的用户,给予不同程度的通过、额度、提额策略、违约金免息政策等,这样能降低损失的情况下,提升收益,还有利于维护老用户在平台的粘性。

    2.5.4.1 名单

    企业名单库的建立,对于建立完整的风控机制来说非常重要。

    内部风险名单:标准特殊手机号、身份证、银行卡号建立,分为白名单、黑名单、灰名单、观察名单等

    内部设备名单:标准特殊物理信息,包括域名、IP、地址、设备、等。

    **外部风险名单:**征信风险名单、信贷逾期名单、欺诈风险名单、多头风险名单、行业催收名单等。

    2.5.4.2 标签

    标签管理:“标签”是客户画像最核心的部分,具备完整的标签管理模块,包括多层次标签结构的定义、标签逻辑定义、多种标签生成方式等。有助于个性化精准营销、差异化风险管理,精细化客户运营。

    标签类型:客户的基础属性、兴趣偏好、行为习惯、借贷倾向等,人群及商品标签等。

    打标方式:手工批量打标签、自动化流程标签、自动化规则标签、模型计算标签和自定义逻辑标签等不同的生成方式。

    2.5.4.3 分类

    用户分类是精细化运营的第一步,也是最有效最关键的一步,总体思路是从一开始就对用户实行分类识别,分而治之。

    渠道分类:比如网站、短信、GDK流量。

    产品分类:比如循环贷、现金贷、车贷或者公积金贷,单期贷和多期贷。

    用户分类:比如新客或者老客,多头或者白户。校园用户和城乡用户。

    数据分类:比如内部数据和外部数据。

    策略分类:比如经验规则、数据规则、模型规则。

    生命周期:比如新贷和复贷,贷前和贷中,低龄与高龄。

    2.5.4.4 分层

    本质上看,用户分层是一种特殊形态的用户细分,应用于业务运作。按用户价值高低进行细分,处于上层的是高价值用户;处于下层的是低价值用户,看似简单的分层,只要和业务结合起来,就很容易解释清楚,也很容易定位到问题。

    最大作用:用户分层最大用处是去平均化。

    特殊作用:用户分层还有个特殊作用,就是一个企业提供给高中低档用户的产品/服务/体验是有限的,用户分层的特殊作用,往往是固定的高中低档套餐,高配/标配/低配产品,高级/中级/初级VIP服务。当我们分开高中低档观察用户的时候,很容易直观看到,我们提供的产品/服务/体验是不是出了问题,我们正在损失哪一档顾客。这样的分析指向性非常强,可以快速定位问题,帮运营找到突破口。通过结合业务行为的分层,快速定位业务问题。

    用户分层的常见错误:维度交叉,缺少重点。

    用户分层的基本思路:分类维度+分类标准。分类维度是当前业务的关键问题,分类标准和业务动作直接相关。

    用户分层的常用方法:简单的用二八法则分层,常见的有金字塔模型、四象限法、用户生命周期、AARRR模型等。其实用户分层并没有固定的方式,通常根据产品形态设立因地制宜的体系。不过有两个思路可参考,一个是围绕从获取用户到最终转化的演进路线划分,一个是围绕用户使用产品的本质需求划分。

    2.5.4.5 分群

    人群细分:基于每一个客户个体的数据洞察并不意味营销一定要区别对待每一个人,更实际的是区别对待每一群人,每一群“相似”的人,这要求品牌具备人群细分的能力。具有一个或多个相同特征的人构成一个细分,细分是大部分精准营销的目标,也是客户特征分析的颗粒度。具体细分能力是分析洞察和精准营销的基础。

    人群特征分析:人群特征分析帮助品牌回答如下的问题:不同特征维度(例如人口属性、消费习惯、会员等级)的人群分布和数量在一定时间段内符合特定特征的人数变化。

    组合分析:在具备数据和不同维度的分析工具后,需进一步将不同维度的分析进行组合,以产生新的洞察。例如:

    ①分析不同人群的同维度分析结果,找出人群差异或行为表现和人群特征的关系。

    ②一定时间周期内,特征人群的数量变化,行为或者特征的变化趋势

    ③特定行为分析路径中,对特定步骤或人群的数据下钻,找到更下一层的特征和行为原因。

    2.6 匠心耕耘,推己及人

    2.6.1 以人为本

    信贷客户生命周期可以分为三个阶段,分别是客户获取、客户提升与成熟、客户衰退与流失,所以设计营销策略时必须围绕客户的整个生命周期,发掘不同层级客户的价值,实现效益最大化。

    2.6.1.1 客户获取

    客户获取的目标是发现并获取潜在客户,增加流量转化率。当客户从渠道进入平台时,利用现在大数据环境下多维、非结构化、高度分散的数据,整合分析形成客户画像,同时利用机器学习技术建立潜客响应模型。根据客户响应概率分为高响应客户、中响应客户、低响应客户,针对不同的响应级别,设置不同营销策略,高响应客户采用主动营销策略,如电话营销,低响应客户可暂时放弃,降低营销成本。

    2.6.1.2 客户提升

    客户提升与成熟,挖掘存量客户价值,提升客户忠诚度。基于存量客户历史信贷行为、消费行为、消费偏好、金融业务属性等多维度数据,建立信贷意向识别模型,进行产品推荐或交叉营销,提高用户粘性,提升客户忠诚度,使客户价值最大化。

    2.6.1.3 客户召回

    客户衰退与流失,目标挽回流失客户,让其对信贷产品重新产生兴趣。利用账户历史数据及行为数据建立流失预测模型,提前预警客户流失,采取针对策略及时挽回客户。

    获客只是金融业务活动的第一步,金融的核心是风险管理。

    2.6.1.4 客户画像

    人口属性:性别、年龄、职业、学历、收入、房车等;人生阶段:在校、工作、备婚、备孕等。

    家庭属性:农业或非农业 五保户 低保户 复员退伍军人 独生子女家庭 二女户 特困户 企改下岗人员。

    收入水平:单位名称、单位电话、工作职务、单位性质、收入来源、收入水平,直接体现收入水平及收入稳定性情况;

    偿债压力指数:用户本人当前偿债压力指数的情况。数值越大,压力越大。

    位置属性:常驻地地址、家乡地址、工作地址、地点偏好、差旅目的地等。

    社会属性:党员/团员。

    价值属性:有无车标识等。

    消费属性:消费水平、消费品级、购买方式、购物行为、消费偏好等。

    行为属性:生活行为、金融行为、旅游行为、社交行为等。

    兴趣属性:金融偏好,上网目的等。

    工作属性:白领/蓝领。

    行业属性:房地产行业、教育行业、教育培训、旅游行业、汽车行业等。

    设备属性:设备类型、设备价格、应用偏好,设备安装、卸载、打开、活跃,设备价格、关联手机号个数等。

    个人资质:查询用户消费、收入、资产、职业等信息,对用户消费等级、消费偏好、收入稳定性、职业稳定性等信息进行评估。

    稳定性评估:收入稳定性、家庭稳定性、位置稳定性等。

    还款能力:判断收入范围,收入能力水平,消费能力水平,判断高净值用户

    借款用途:无定向用途贷款(多为信用贷)和定向用途贷款(多为商品贷款,可以分为抵押和免抵押)

    2.5.5.5 特殊客户管理

    特殊客户管理,可以看做个体策略。特殊客户管理虽然是复杂的,但也是单一的,是多变的,但也是有规律的,要着重从特殊性和人性化的角度去换位思考和尽可能满足。

    特殊客户:为老、弱、病、残、障等提供金融服务;特殊管理失信、失联、死亡、出逃等债务人。

    特殊订单:重复借款、重复扣款、无法还款等。

    特殊需求:延期还款、追加借款等。

    特殊要求:罚息减免、还本免息等。

    档案记录:将此类特殊账户、案件的每一个交互和执行动作都记录在档。

    2.6.2 不忘初心

    责任意识,家国意识,企业担当


    3.风控策略之规

    一个基本的风控策略系统是伴随整个业务而生的,所以根据业务的生命周期,风控策略可以分为反欺诈策略、信贷风险策略、贷中管理策略及贷后管理策略。在完成风控体系的搭建后,需要结合信贷业务流程来考虑,就需要专业的策略人员或者团队,以客户为中心,将市场营销、申请和审批、客户管理、催收和收回以及不同阶段需要注意的关键点作为信贷风控的核心去设计以及管理。

    3.1 岗位职能,全

    在整个闭环系统中,策略由谁管理、由谁执行、由谁监控、又由谁做效能评价,都需要严格的职能划分,这些岗位职责或许是由风险部门来制定,但制定并不意味着执行,需依照不同组织架构、不同级别的权限,协同做管理和实施,基于业务运营需要, 作出集成化的、流程化的风险策略。

    一个好的策略师,应该是复合型的,职责内的能做好,职责外的能帮忙。所以,我们认为策略师一定程度上要有全栈的能力。

    3.1.1 设计风控流程

    业务政策:快速理解商业模式,可进行解决方案的拟定及讲演,参与商务、产品、运营,完成风控需求分析和项目策略管理推进。执行风控运营相关的调研工作,输出调研结果;通过对业务数据、客户行为数据的分析,结合调研评估,对公司各项决策提出相应建议,包括产品政策、风险政策等。

    设计流程流程设计

    流程制定:参与信贷业务贷前、贷中策略和政策的定制及全流程风控建设; 对信贷产品流程和系统策略管理流程进行优化;参与制定风控政策和上线决策,并跟踪线上效果,能够对模型质量进行验证和评估,提出优化改进建议和方案。

    系统系统建设系统建设:参与建立健全的风险管理体系,包括金融产品设计、整体审批流程设计、风控模型建设、审批决策建议等;整理风控数据需求,对内挖掘数据价值,对外测试及对接合规三方数据;思考业务环节或场景可能潜在的风险,设计合理的数据埋点体系。

    组织协同:帮助协调实施,包括定义技术要求,在产品端实现政策实施,以及预计和检测项目影响力是否符合预期; 与技术团队进行对接,确保风控策略在高效快速的落地实施; 与业务相关部门紧密合作,对产品设计和业务流程进行全面风险评估;推动产研团队、算法模型团队快速落地业务需求,确保产品迭代和优化效率。

    目标目标任务目标导向:控制业务的逾期率,提升客户通过率; 提高收入,控制成本,联合优化逾期率、批核率,协助运营好业务指标。

    3.1.2 制定风控策略

    策略制定:制定和优化风控策略;利用数据、规则、模型等完善风控策略,包括原有风控流程及规则优化、反欺诈策略、审批策略、定价策略、额度策略等内容; 按照既定的方法输出风控策略规则的评估结果。

    策略调优:实时了解信贷欺诈案例及技术手段,并探索指定反欺诈策略。

    特征管理:参与建设风控特征,挖掘特征内涵、调试特征阈值、验证特征有效性等。

    3.1.3 实时数据监控

    实时监测: 建立数据监控体系,与相关部门进行有效沟通,对系统问题、审批流程效率、风控策略效果进行实时准确的监控及报送等。

    监控报表:对业务关键指标进行挖掘、整理和分析,形成数据报表,持续监测;设计资产监控报表,跟踪账户风险表现,并对资产信用表现进行监控分析。

    3.1.4 风险数据分析

    日常数据抓取、分析和报表工作,对业务各环节数据进行分析,探究问题原因,提出解决方案,为公司业务发展提供支持。

    数据分析:用户数据及风险数据分析;通过大数据分析,定量识别潜在的风险和业务影响;通过数据对公司各个流程环节进行分析评估诊断,优化运营流程,提升效率;。

    报表报告:业务报表和风险预警体系的开发和维护;业务数据的提取、处理、分析,撰写分析报告;

    案件分析:在数据分析和案例调研反馈的基础上优化风险管理相关政策与策略;风险案件深度挖掘、分析,洞察风险客户行为特征,快速调整识别策略并推动风控产品升级迭代;

    指标测算:风险有关资产、财务、风险、运营数据指标的测算。

    数据挖掘:掌握Logistic回归、评分模型设计、决策树等基本的数据建模方法,能掌握SQL、SAS或其他数据分析工具,良好的风险敏感度和优秀的数据分析技能;对风控数据进行深入的分析和建模,为风控决策及策略的应用提供强有力的数据、模型支持;通过对数据的聚合、合理性的分析,核实风控模型数据准确性。

    3.2 营销获客,准

    按照展业模式,消费金融的产品形态大致可以分为线下和线上,线下转线上是大势所趋。把从传统的对账户、客户的关注,转化成对用户、流量的关注,是一种理念上的转变。一方面如何将沉寂客户点燃,另一方面如何精准触碰、转化外部未知客户,是未来零售获客领域的核心。

    3.2.1 展业之痛

    3.2.1.1 行业特点

    低频化:金融服务本身就是低频的服务,流量不够,竞争激烈。

    同质化:同业机构数量众多,产品服务同质化严重。

    离线化:许多金融产品互联网基因不足。

    3.2.1.2 业务痛点

    缺渠道:行业限制太多,流量损耗大,缺少好的获客渠道,欠缺时效性和精准性,业务员花费大量时间精力筛选线索,效率低下。

    高成本:营销成本快速攀升,客群质量迅速下降,流量采买粗放,效果低。信用贷款产品低频的产品属性和较为严格的审批通过率,导致其获客成本数倍于其他类型产品。在消费金融领域,激活成本300-500元已是能拿到量的较好水平,提款成本1000元以上毫不稀奇。

    低价值:与高昂的获客成本不相称的,是低的可怜的单用户LTV(Life time value:用户生命周期价值)。除少数头部企业的LTV能达到500元+,大部分腰部和尾部机构的LTV都不到100元,甚至是负数。固然LTV不是衡量产品好坏的唯一指标,但获得高质量的客户是竞争的核心。

    难定位:产品定位模糊。

    难运营:互联网运营经验不足,局限在业务运营,没有真正聚焦于互联网运营、流量运营。

    存量管理:银行虽然客户很多,但是没有多少客户是活跃的,基础流量还面临着缺失,向互联网的全面转型,是一个问题。

    金融创新:网络金融服务中,监管不对等,导致很多互联网金融企业发展很好,但是像银行这样的机构在做互联网金融的时候很吃力。

    3.2.1.3 发展趋势

    产品:确定产品类型,理清金融产品和渠道产品;To C、To B、B2B2C不同模式的产品;自建产品和联运产品的区别和关系。

    驱动:由业务驱动转变为用户驱动。

    3.2.2 营销之道

    3.2.2.1 营销脉络

    从触达用户开始,到用户从生理上、心理上产生一些感知,到通过这些感知与互联网金融服务产生实际操作上的交互,再从交互转化成网络金融的实际业务,再从业务变成二次传播或者业务回访,其实就是这么一个脉络。这个脉络是一个闭环的营销体系,在这种闭环下面用户的营销效果就会逐渐放大。

    交互体验,更多落实在营销方案的设计上,思考什么样的营销方案让用户有兴趣参与到交互当中。

    营销转化:营销的目的就是转化,把营销转成实实在在的业务,否则营销就是失效的。营销的转化更多体现在了系统的联动设计上,外部传播以及系统的联动设计都是为了由营销更顺畅的转化为实际业务。

    传播回访:更多体现在网络金融产品自身的设计上,如何让用户在完成业务后产生分享或者回访的欲望。

    首先,品牌传播线上的渠道,包括广告的投放,传统的双微门户还有百度搜索这都是常规要去做的,包括事件的传播。多做营销活动,往事件营销的方向去转化。通过线下活动开展线下渠道,通过针对高流量的线下场景做线下活动。

    其次,营销转化方面,分为线上线下两个部分,线上除了用短信的方式去通知用户,让用户直接通过短信链接进行转化,同时在应市场搜索方面做好检索优化。另外,做一些跟用户互动相关的线上活动,比如说比赛类、投票抽奖类的活动,这更多是线上转化。在线下,以阵地营销为主,因为阵地场景内,存量用户足够精准。

    把这条脉络都整理清楚之后由专人负责,围绕着这样不同的脉络细分条线去设置相应的指标。提高营销效率,核心还是在于找到一个能说得通、站得稳的产品支撑点,这是最核心的内容。

    另外,一定要​降低获客成本,将大数据、云计算、移动互联和人工智能等引入自身变革转型中,拓宽获客渠道,重构营销闭环。

    3.2.2.2 获客模式

    直销银行:直销银行提供了一个银行不需要去柜面就能够获得银行业务服务的通道,这个通道是有价值的,只是在运营层面要看银行怎么做。

    开放平台:开放平台不管是与外部的互联网机构、平台方去合作,还是银行内部通过自己的API接口去进行内部项目的孵化,这都是未来的重点方向,但是这个方向与自建平台的创新发展不是零和关系,而是一种有效的补充。

    品牌投放:品牌投放常见于综艺影视赛事冠名、分众电梯广告、地铁公交户外广告等,品牌投放由于即时转化效果难以精准衡量,且通常项目金额较大,投放决策压力大等原因,其在获客端的占比往往低于效果投放。

    效果投放:目前线上流量主要集中在腾讯系、头条系和头部垂类平台。在效果投放方面,虽然前端转化效果看得见,但“精准投放”是不是真的能节约营销成本,这个答案越来越多的人在实践过后已经持有反面态度。

    3.2.3 运营之光

    定位:明确的产品定位和闭环体验是营销效率提升的前提条件。

    目标:网络金融营销有精准的目标受众。

    需求:找到一个痛点对一类需求人群进行阶段性营销。

    匹配:与自身网络金融业务匹配度不高的营销多半无用,可能会在品牌传播角度有贡献,但对业务的转化效果和支撑效率不高。

    品牌传播和业务营销是两个不同的方向,有侧重才能有效率。

    数字化:数字化营销的强转化需要营销和自身业务系统的深度整合,高效的数字化营销不能孤立于业务系统之外,一个只为了传播而传播的营销活动,其实没有太大意义。

    补贴:补贴是让用户接受尝试的方法,而不是留下客户的手段。拼命补贴,不加思考,就会变成一个薅羊毛的渠道。

    考核:考核是把双刃剑,产品好,方向足够细化,考核才能够推动产品营销产生正向的效果,否则反倒成为阻力,让基层营销的同志们不知道该怎么使劲,细化考核目标才能有的放矢。

    3.3 贷前审核,严

    贷前策略以反欺诈和授信为主,基于数据分析在贷前申请阶段制定各式各样多维度的策略和规则,其目的在于减少贷前审批时⻛险事件发生的可能性,挽回⻛险事件时造成的损失。对高风险客户进行筛选对同时,保留低⻛险客户。在保证业务体量的同时降低坏账率,控制逾期风险而实现盈利。

    3.3.1 风控政策

    一份标准的政策性文件包括筛选客户、进件方式、准入条件、申请资料、信息验证、风险定价授信等。阅读政策性文件,是了解行业和风控最好的材料,但因机密性强,无从学习,顾本节就风控政策中的要素分解开来,详细介绍其研发思路。

    3.3.2 准入策略

    准入策略主要是在审批前基于用户基本信息判断客户是否符合信贷政策中基本的客户标准(包括年龄、工作生活区域、职业、是否实名认证、以及在当前申请银行的申请历史等),通过准入设置,可以一定程度上降低非目标客群申请带来的风险和审核数据成本,提高效率。

    用户准入分为强准入规则和弱准入规则:一般来说,强准入规则相对固定不易改变,比如一些地域、民族、年龄以及内外部黑名单等;弱准入规则主要进行风险下探,可以进行调整,比如灰名单的设置,不同于黑名单,灰名单通过一些准确率较高的规则或者通过与黑名单进行多级关联产生,这些名单没有黑名单准确率高,但在一定准确率条件下补充了黑名单的覆盖情况。

    3.3.2.1 资料准入

    拿到用户注册信息,一眼可以识别出来的问题。

    **资料完整性:**必填项未填,例如联系人信息填写不完整,必然会导致拒批,或者提示重新申请。

    **资料真实性:**内容明显错误,如手机号位数不对、姓名明显有问题。

    资料有效性:提供资料无效,例如提供了没盖章的收入证明,过于简易的工作证来证明单位,自行打印无盖章的银行流水等。都属于这个资料无效的情况。

    资料清晰度:字迹无法识别,申请表字迹潦草,或填写出格,是线下申请被拒批的重点原因之一。

    图片

    3.3.2.2 身份准入

    资料满足要求后,开始识别用户本人的资质问题,同样无需过多数据支持。

    国籍准入:产品规定的借贷人国籍限制,信贷业务一般要求客户为中国公民。

    **年龄准入:**产品规定的借贷人年龄限制,校验用户年龄介于最低年龄和最高年龄之间。

    行业准入:产品规定的行职业准入条件校验。部分人员流动性较大的行业会被视为不稳定工作;学生用户群体受到重视及保护;此外,小额贷款公司、融资中介公司等也会被不少机构标记。

    地域准入:校验地址中是否包含某些关键字,尤其是业务规定范围之外的区域。

    例:城市等级越低,其对应的逾期率越高。

    例:年龄越低或越高,进件对应人数就越少,对应的通过率越低,逾期表现也不好,放款成本非常高,那么这部分用户,就可以在准入部分直接拒绝。

    图片

    3.3.2.3 名单准入

    当用户身份满足要求后,遍历内部数据库,作为第一层用于高风险用户的识别机制。名单的产生不应该是一次性的,名单应该进行长期维护并且注意名单的进入和退出。因为一旦停止维护,名单的准确率就会发生大幅衰减导致误判急剧上升。

    风险名单:内部黑名单或者行业内共享高风险名单。

    图片

    渠道名单:进件渠道不符合要求或被标记,如未推广渠道高密度注册及进件。

    设备名单:申请设备不符合要求或被标记,如统一设备被多人使用。

    例:用平板电脑申请借款的用户,一般为特殊的场景,不可预估贷后表现,一般拒绝。

    例:同一台设备有多个账户注册登录,一般认为欺诈嫌疑较大,则拒绝。

    图片

    3.3.2.4 历史准入

    图片

    3.3.2.5 其他准入

    另外,不同平台不同产品的准入规则多有差异,在上述基础规则中,多数机构为了降本增效,还会增加一些企业内部的准入策略,如:重复授信、特殊时段、降级申请、设备准入、企业经营年限要求、户籍要求、婚姻方面,有些特殊产品,甚至会对性别会有限制。总体来说,以满足某个条件为基本,或者以拥有某个资质为前提。

    3.3.3 信息核验

    到信息核验一步,意味着用户的基本条件满足要求,此时需要借助技术或者数据去核查用户信息的真实性。在网贷申请中“确认你就是你”非常关键,它强调一致性,也防止在贷后出现一些不必要的麻烦。

    信息核验方式多样,包括对用户提交信息、用户身份等与公安、征信、银行等系统进行交叉验证,或者生物特征识别、电子签章、地址正则校验等技术的应用等。

    3.3.3.1 实名认证

    作用:确认申请人身份证、姓名、手机号、银行卡是真实并且关联的。

    方式:实名认证主要是身份证、姓名二要素认证、加上手机号码的三要素认证、还有加上银行卡的四要素认证,可以降低欺诈风险。实名认证核验异常并不意味着一定是欺诈,只是因为不确定性意味着更多的风险性,所以需要这一环节来过滤一部分因填写信息异常或者其他行为异常的用户,后续可以安排短信或者电话回访具体原因。

    图片

    3.3.3.2 短信认证

    获取登录验证码。

    一定程度上确认借款人设备是本人在操作,同时确认申请人使用手机号非停用、故障、异常、欠费状态。

    3.3.3.3 活体检测

    人脸识别验证:对比用户提供照片与身份证照片的相似度。

    3.3.3.4 地址校验

    接入一些外部技术或数据,针对输入地址信息、家庭地址、单位地址、常驻地址、身份证地址、设备ip、GPS地址、手机号归属地、最近使用地址、历史使用地址等,做位置解析及一致性核查。

    图片

    3.3.3.5 其他要素验证

    运营商信息验证、政法信息认证、车辆信息查验、邮箱验证、手机号与联系人手机号校验、发证机关校验等。

    3.3.4 欺诈识别

    欺诈可理解为恶意骗贷,按主体可分为:第一方欺诈、第二方欺诈、第三方欺诈。

    第一方欺诈是申请人自己欺诈,身份是真实的,申请者本人是知情的,比如自己或通过中介包装信息进行申请。

    第二方欺诈主要指内部欺诈,或内外部人员勾结进行欺诈。

    第三方欺诈是使用、盗用冒用他人身份进行欺诈,申请者本人不知情,比如团伙利用非法收集的身份证进行欺诈。

    贷前欺诈主要是团体欺诈, 集团化和规模化欺诈案件很难利用人工实现规避。通过大数据融合,挖掘线索特征,挖掘用户的行为特征,用户关联特征等异常事件,结合IP、手机、位置等维度分析潜在的欺诈风险,结合具体业务场景,构建反欺诈模型,同时动态优化反欺诈规则,提高欺诈案件命中率。

    3.3.4.1 申请信息反欺诈

    信息存在疑点/欺诈:指申请人提供的信息存在逻辑错误,或者提供虚假资料。例如:

    情况1:学历本科,年龄23岁,在某工作单位任职4年。

    情况2:工作单位与征信报告中查阅到的单位信息不符合。

    情况3:岗位层级、收入情况与核实情况不相符。

    图片

    3.3.4.2 设备信息反欺诈

    涉嫌诈骗类设备、虚拟设备、虚拟交易过多、以及延伸出来的,设备申请、逾期、拒绝等过多。

    历史安装应用风险事件,指客户相关的终端设备里,疑似安装了各类相对贷款敏感类APP,如贷款跟赌博类,这样的客户也必是我们重点关注的风险。历史安装应用风险事件,我们稍后也会重点展开描述。

    如:用户手机号、身份证号对应设备历史1、3、6个月安装赌博类、借贷类APP个数过多。

    设备拒绝。

    图片

    3.3.4.3 三网数据反欺诈

    手机相关信息也是不错的判断内容,这里会进行手机在网时长、剩余话费、价格等规则的判断,当然也会参考外部数据源的信息。

    通话详单欺诈与疑似欺诈。例如手机实名不符、通话费用过少、某段时间内通话累计时长过少、通话详单中姓名认证不符合、通讯录呼入呼出交叉对比不符合条件、通讯录中含有敏感词关键字、通讯录数据数量过少等。

    例:手机开户时常低于6个月或者3个月,用户的违约成本大大降低,因为手机号在完成借款后,扔掉对用户的影响不大,通常对用户手机号开户时常有一定的要求。

    例:通常,用户通话记录或者SMS短信中,有被多次催收,或者有过类似120、110等的内容,在识别到之后,会做拒绝处理。

    图片

    3.3.4.4 征信数据反欺诈

    征信策略根据申请人在人行征信中过往和当前存在的负面信息(司法执行、欠税、行政处罚等)、逾期信息、多头共债信息、对外担保等制定征信规则。通过对客户的负债情况和信贷逾期情况来识别判断存在的违约风险。

    央行征信

    央行征信策略

    图片

    民间征信

    多头风险:指客户在多个平台借款的,疑似客户有多个借贷的行为,循环套现,以贷养贷,这样的客户一旦资金链断裂,无法再在新的平台借到钱,并会违约,风险极高;

    失信风险:指客户因为历史问题,被法院强制执行的行为或者命中各类消费黑名单等;

    多头借贷。银行类机构或非银类机构借款数量过多、逾期过长、未还款次数过多。

    拒绝过多:银行类或非银类非准入条件被拒次数过多,某时间段内申请过多。

    例:通常认为同一个平台,用户借款次数不宜过多,超过一定程度,撸贷可能性较大,所以可设定对应的拒绝阈值。

    图片

    3.3.4.5 其他数据反欺诈

    多数场景下都会用到:公安类数据、失信执行人名单、法院执行人名单、工商税务类名单等,大额业务一般用央行征信,小额业务一般用民间征信。

    外部黑名单:黑名单不同于欺诈。黑名单有些数据是不可共用的,但是欺诈的数据相对通用性比较大。

    3.3.4.6 关系网络反欺诈图片

    3.3.4.7 复贷用户反欺诈

    图片

    图片

    3.3.4.8 其他

    3.3.5 授信评估

    基于客户购物、交易、金融数据、历史信贷记录,客户资产、债务结构,以及运营商、银联、 公安及行业共享等数据,同时结合内部信贷政策,建立信用分险评估模型,核定客户还款意愿和还款能力。同时可指导信贷额度和利率的差异化设定。

    3.3.5.1 预授信

    预授信是在没有借款需求的时候提前给予一定额度,有了预授信以后,需要借款可以直接提取,不用再走一次贷款审批流程。多用在循环借贷类产品中,比如某些产品,即使不发起借款,也有一个可以使用的初始额度,可以理解为一张有额度的信用卡。

    常用在贷前市场开拓,在国内最常听到的是预授信,但其实可以细分两大块,预审批和预授信。

    预审批:把差的渠道的差的客户排除在外,可以有效地降低企业的审批成本。

    预授信:贷前审批环节设计时, 最重要是注意审批流程,另外额度会分成初始额度和最终额度,配合市场开拓,可以先做预审批,先有个初始额度,再根据最终审批结果有个最终额度。

    预授信基本也是规则与模型的集合,使用到一些用户基本信息,主要考虑用户的信用风险、收入能力等变量,基本不用外部征信数据。

    3.3.5.2 行为评估

    个人资质:查询用户消费、收入、资产、职业等信息,对用户消费等级、消费偏好、收入稳定性、职业稳定性等信息进行评估。

    人口属性:性别、年龄、职业、学历、收入、房车等;人生阶段:在校、工作、备婚、备孕等。

    家庭属性:农业或非农业 五保户 低保户 复员退伍军人 独生子女家庭 二女户 特困户 企改下岗人员。

    位置属性:常驻地地址、家乡地址、工作地址、地点偏好、差旅目的地等。

    社会属性:党员/团员。

    价值属性:有无车标识等。

    消费属性:消费水平、消费品级、购买方式、购物行为、消费偏好等。

    行为属性:生活行为、金融行为、旅游行为、社交行为等。

    兴趣属性:金融偏好,上网目的等。

    工作属性:白领/蓝领。

    行业属性:房地产行业、教育行业、教育培训、旅游行业、汽车行业等。

    3.3.5.3 风险评估

    利用客户的一些多头信息以及客户历史的逾期信息,主要识别客户的信用情况,对于信用低的客户拒绝,对于信用高的通过,对于信用中等的客户,加一些其他方面的规则做审批。

    历史借贷记录:了解用户借贷意向,借款用途是否虚假,了解用户借贷行为,借贷行为偏好

    对用户还款能力进行评估,对用户还款意愿进行评估。

    历史欺诈记录:多头借贷倾向,信用风险提示,信用逾期预测。

    贷款属性:多平台借贷情况等。

    共债风险:判断用户多平台共债风险。

    借贷偏好:用户金融产品借贷偏好,包括经常使用的贷款类产品等。

    借贷用途:购车贷款、医疗美容、网购贷款、装修贷款、教育培训贷款、旅游贷款、三农贷款、其他

    还款习惯:用户还款方式为主动还款、提醒还款还是催收后还款,是提前还款还是首逾后还款。

    稳定性评估:收入稳定性、家庭稳定性、位置稳定性等。

    设备属性:设备类型、设备价格、应用偏好,设备安装、卸载、打开、活跃,设备价格、关联手机号个数等。

    3.3.5.4 能力评估

    制定完规则后就是对客户的收入进行评估制作收入模型了,收入模型可以根据银行卡流水数据、公积金数据来做。

    履约能力:判断收入范围,收入能力水平,消费能力水平,判断高净值用户,直接体现或者间接体现还款能力的。

    家庭人数:家里人多,你还不起,催收后有人可以帮你还。

    婚姻状态:大部分家庭,结婚的比未婚的家庭收入或经济稳定更好。

    文化程度:初中以下、初中、中专、高中、大专、本科、研究生及以上。

    收入水平:单位名称、单位电话、工作职务、单位性质、收入来源、收入水平,直接体现收入水平及收入稳定性情况。

    贷款用途:购车贷款、医疗美容、网购贷款、装修贷款、教育培训贷款、旅游贷款、三农贷款、其他。

    收入来源:工资奖金、经营收入、投资理财、房租收入、其他。

    偿债压力指数:用户本人当前偿债压力指数的情况。数值越大,压力越大。

    3.3.5.5 综合授信

    **综合信用情况:**查询用户消费、收入、资产、职业等信息,对用户消费等级、消费偏好、收入稳定性、职业等信息进行评估。

    通过设置表现窗口表示构建模型目标变量的时间段,在这个时间区间内,收集客户的表现数据,以甄别好、坏客户。通过统计应用创建了一个模型后,这个模型可以用来预测新的数据。最终,通过评分模型产生出客户评分,根据客户评分所在区间来产生对应的用户等级。

    图片

    模型部署与实施后,定期对模型的表现情况进行监控,由于开发的评分卡是基于特定时间的样本,随着产品政策和外部环境的改变,可能导致样本分布发生过大变化,导致模型预测准确性和稳定性降低。因此,可以通过计算模型稳定性指数(PSI)对模型进行监控,在一定时期对评分模型进行调整。

    3.3.6 定额定费

    客户申请授信,需要对不同的客户定设置不同的授信额度和利率,审批策略完后,将会进入到额度定价的阶段。做完收入模型和申请模型后,就可将收入模型和申请模型做一个二维矩阵,对于矩阵中每个单元格设定一定的额度水平,在此基础上授予相应的额度。

    3.3.6.1 额度概念

    固定额度:与客户约定好的对账户正常操作的额度,客户一旦违约,额度可能会被降低。

    影子额度:后台操作额度,在客户未知的情况下设定,在客户超限时被激活,或是客户提出提额申请时启用。

    目标额度:在没有额外手续时对客户提额申请能给予的最大额度。

    提额请求:永久提额和临时提额。

    提额降额:预授权、预激活、预筛选。

    额度复核:定期评额,关注客户在未来固定时间能偿还贷款的额度。

    冻结额度:账户异常

    额度模型: 单独制作额度模型时,使用类似公积金基数,信用卡流水,借记卡流水、共债数据拟合额度模型,产出一个额度系数,再结合一些基础且特征明显的维度,组成额度系数矩阵,客户额度为:额度系数*额度基数(一般是客户的信用卡额度、月收入(真实的)或者公积金缴纳基数之类的)。期数会参考申请评分卡的等级,由等级确定建议期数。

    3.3.6.2 额度策略

    额度计算整体框架:通常在客户授信额度方面,有一个输出的框架,会做一个决策树分类。对于低分风险高授信,反之高风险低授信。信用额度主要参考客户的收入、行业/职级、进件渠道,同时参考申请人的个人信用信息,结合进行授信。

    客户的最终授信额度:根据客户的进件渠道、类型、和数据采集情况,依据额度授予框架和客户满足的特殊情形,对关键人、公务员、突破线客户分别授信,对其他的客户按照收入认定额度授予信贷额度,对于满足特殊条件的客户进行单点保底额度设定。

    授信额度简单计算公式

    图片

    额度策略本身受限于产品设计、客户需求及竞品情况。如果额度在借款区间中变化时,同一分段的坏客户占比没有明显差异,并且评分有较好的排序能力,每一分段对应的坏客户占比有显著差异,那么结合自身成本和风险偏好,可初步确定产品的额度区间 [A1,A2] 和件均 A0。由于右图中俩个梯形的面积应该是相等的,因此,可以得到关于 A0的计算表达式,由于 A0、A1、A2 都是已知的,因此可以计算出 A0 对应的常数 K0,这样就可以把右图中蓝色的折线拟合出来,即相对最优的一个解。可以实现,根据不同的分位数,给不同的额度。

    3.3.6.3 利率策略

    风险与利率计算公式

    A 表示额度,r 表示预期收益率,p 表示坏账率,对每个评分段分别计算预期收益 ri,但通常情况下,利率是固定的,当分数在某个阈值时,就直接拒绝掉。

    图片

    3.3.6.4 息费调整

    采用 sigmoid 来替代分段函数,确定基础风险额度。对于大额借贷,还是考虑用户的偿债能力,即收入,资产,流水等指标,先算出基础风险额度,再结合收入等指标,差异化调整基础额度。

    图片

    额度调整策略

    筛选可调额客户

    分为调额组与对照组

    调额后调额组与对照组资产趋势分析

    根据结果回调最初筛选可调额客户的规则

    在很多现金贷产品中,额度调整方式较为简单粗暴,如

    对于新申请客户

    逾期超过5天则禁止提现,客户正常还款后恢复提现;

    最近6个月逾期累计超过30天或3次大于10天逾期,降额2500;

    最近6个月逾期累计超过20天或2次大于10天逾期,降额1000;

    降额后额度低于5000需补充资料重新审批。

    对于老客户

    帐龄超过6个月,借款次数大于3次且每期正常还款,或提前还款,提额1000,但额度不能超过评估月收入的3倍或3万;

    三个月内只能提额一次,同时降低利率1%,可延长1个月分期期数。

    3.3.7 人工审核

    项目冷启动期,考虑加入一定人工审核的环节,一方面了解用户群体,另一方面寻找产品漏洞,还能有效识别欺诈。

    图片

    3.3.8 签约提现

    提现节点,是落实客户最终申请放款最后节点。所以说客户资信存在时效性,评估风险并非一成不变。用户在授信后,会发起取款消费等操作。在这个过程中,需要保持对用户的持续监控,对客户进行鉴权认证,并保证用户的信息没有发生较大的变化,以及排除欺诈交易等。例如:若授信跟提现同一天完成,提现策略可以等同与授信策略,若提现与授信时间间隔较大,则提现策略与部分审核策略进行重叠,另外也可根据外部的数据进行提现的调额调整。

    提现环节同样需要做一些风控策略,以预防客户在点击提现之后有一些违规操作,例如:

    ①客户在提现之后,设备与之前的申请时的设备不同,且gps定位相差较远。

    ②客户提现之后更换银行卡。

    ③客户在出额度之后,频繁更改个人信息。

    ④授信的额度,客户提现的比例有多少?全提还是提一部分?

    ⑤在签署合同前有相关的还款计划待确认;

    ⑥确定提现时,应该还有一个电子合同签署的过程这里还有电子签章的问题;

    ⑦之后签署合同后将会发布接口、借款人信息登记于标的发布等;

    ⑧保险起见,在这里还会部署一个评分卡拒掉一部分人。

    需要保持关注用户、设备的地址变化、资质变化、偿债能力变化、稳定性变化、设备变化、关系网络变化、提款行为等变化。

    3.3.9 审批监控

    进件情况

    进件变化情况

    首贷复贷进件情况

    规则调用和拒绝情况

    模型跑批情况

    调用率、触碰率、通过率、拒绝率

    异常规则触发情况

    策略预估:预估策略上线对生产运营阶段的影响,基于进件量、放款量、通过率的影响。

    策略监控:策略上线后,监控此策略的占比与预计的占比是否发生严重偏差,且在正常运行阶段是否全部执行。

    (监控报告设计参考第五章)

    3.4 贷中运营,密

    放款之后,进入到贷中环节。在贷中环节,我们仍需对客户贷款进行严密监控,这样做的主要的目的有两个:

    1.对异常账户的用户进行提前预警、催收;

    2.对额度进行调整或冻结。

    3.4.1 风险监控

    贷中风控主要有交易中监控、交易反欺诈、早期风险预警。

    3.4.1.1 交易监控

    利用大数据技术实现实时监控,异常行为预警(多头借贷行为监控、还款能足指标异常预警及还款意愿交叉识别),对贷款流程中潜在或者已经发生的风险进行监控,以预防坏账和交易欺诈。

    3.4.1.2 交易反欺诈

    交易欺诈主要是信贷业务发生时的第三方欺诈,通过借款人为核心关系的人际关系网络,借款人的交易行为、还款行为、设备使用行为等各方面关键信息项的交叉侦测,提前发现风险,进行预警并对借款人账户进行实时管控。

    3.4.1.3 早期风险预警

    用户在提款之后,根据客户的借还款行为表现,通过统计或机器学习算法建立起行为评分模型,并使用模型去评估是否有逾期风险或者是否应该授予更高/低的额度,根据模型分也可以制定若干强规则和弱规则。行为评分可以用账户表现的各个方面作为衡量指标。

    3.4.2 客户运营

    建立信贷意向识别模型,挖掘客户信贷需求,产品偏好,进行产品推荐或交叉营销,实现客户价值最大化。

    3.4.3 还款提醒

    借记卡动账提醒

    信用卡动账提醒

    信用卡还款提醒

    信用卡账单提醒

    贷款还款提醒

    贷款审批提醒

    3.5 贷后管理,勤

    并非所有的贷中客户会逾期的行为都能被及时监控到,所以这时候对于逾期的客户,也需要分层,把客户分等级之后采取不同的催收策略,使用数据多为客户贷中行为。

    贷后风控可拆分成两部分:贷后监控和贷后催收。先做监控是需要提前预知可能产生的风险,帮助企业减少一些风险上的损失。

    3.5.1 监控体系

    从贷款发放后到本息收回,通过扫描借款人新增风险,动态监控借款人信息变更,及时发现不利于贷款按时归还的问题,调整相应催收策略,解决坏账隐患。

    贷后监控:首先最重要是监控客户是否能按期还款。其次是去监控客户有没有其他资产品质或者负债品质的变化。最后是监控是否出现异常。

    这个监控是通过什么样的方式来作?模型、评分卡,规则。行为评分卡,规则的辅助以及外部数据不断地实时更新,监控稳定性。

    贷后监控如何做?一是需要人力,有好的分析型人才和策略型人才;二是需要系统和工具的辅助。因为监测客户或监测产品,这些能够帮助快速甚至实时更新信贷数据。三是在应对策略,根据策略必须决定继续缩或放的手段或政策,可以有效地提升企业的信贷业务品质。

    (监控报告设计参考第五章)

    3.5.2 催收策略

    3.5.2.1 逾期催收

    一般来说,我们所讲的客户催收是在客户产生逾期之后,可能在M1、M2、M3等如何催收的管理。但这里特別要强调的是早期催收的概念。

    根据研究,客户一旦发生逾期,催收的最佳黄金时间一般是3-7天。具体天数主要是看企业现有的贷款产品。所以不要等到M1了,因为此时逾期已经是一个月之后,可能已经找不到欠款人了。所以在逾期的第一天,就可以跑出欠款人的逾期名单、逾期报表,开始执行催收手段。

    逾期原因

    疏忽大意:没有设置自动还款,忘记,或者在度假。

    技术逾期:支付系统延时,导致还款未能及时到账。

    错误信息:设置自动还款时信息错误。

    理财较差:客户还款义务超过收入。

    个人困境:失业、婚姻问题、财产损失等。

    争议纠纷:涉及费用、利率、支付方面的异议。

    逃债躲避:有意或者无意的失联。

    无力偿还:主动或被动破产。

    贷后催收主要是针对逾期还款催收,通过数据分析,对客户的逾期风险进行评分,利用差异化催收策略进行贷后催收。市场上的一些智能催收产品有:

    逾期客户画像:明晰催收对象情况,多维度画像数据,精确勾勒逾期客户还款能力与意愿的相关情况并精准量化。

    催收分级:使用贷后数据和三方数据制作催收评分卡,根据催收评分的结果,对可催人群进行差异化人工入催,优化催收成本,提升客户体验;

    催收评分:评估对象催收难度,融合 金额、账龄、地域等多维 度信息建模评分系统,对 债务还款可能性进行综合。

    分单策略:根据催收评分,结合系统总催收人员能力制定分单策略,以对案件进行合理化分配,提升催收效果。

    轮循拨号:友好自动拨号,对于高频、 简单的催收案件,采用轮循拨打,减少人工操作,缩短拨打间隔,有效提升催收效率。

    失联修复:对失联客户的交易前后行为特征进行分析,结合社交信息建立起关联图谱网络,通过图谱中的社交节点进行失联修复。

    失联催收:跟踪关注类用户行为轨迹, 适时预警,并在逾期失联后以恰当方式进行催收。

    建立催收评分卡模型

    a)还款率预测模型:预测经催收后,最终收回的欠款的比率;

    b)账龄滚动模型:预测逾期人群从轻度逾期发展至重度逾期的概率

    c)失联模型:在逾期阶段,对于尚能联系到的人群预测其未来失联的概率

    d)相关指标:逾期天数、逾期金额、历史还款率、个人信息、联系人关系、运营商信息等

    催收流程:还款前短信提醒→逾期初短信提醒→逾期初电话提醒→逾期初电话催收→实地文明催收→法院→外包

    催收方式:短信催收、电话催收、诉讼催收、上门催收(根据用户的预期境况,判断用户的还款意愿与还款能力的强弱,采取相应的催收方式)

    逾期1-5天的催收方式

    ①关注客户逾期的原因。

    ②不致电联系人,或者只是致电联系人了解客户近况,并不透露客户贷款信息

    ③以热情服务客户为主,用提醒的方式进行催收。

    逾期6-17天的催收方式

    ①有意识的关注客户本人的联系方式、工作信息、居住信息等是否变更、及时更新数据。

    ②致电联系人了解客户近况,并不透露客户贷款信息,对知晓客户贷款的,透露贷款信息,并要求联系人督促客户还款。

    ③加大催收的频率,每天不同时段至少通过两个电话3次以上联系客户。

    逾期18-30天的催收方式

    ①联系到客户的情况下想客户充分说明逾期时间过程的不利影响,并将升级催收方式。

    ②联系不上客户情况下可对贷款人透露贷款信息,并让联系人代为转告客户还款事宜,也让其联系人转告在不处理还款将产生的不利影响。

    ③再次加大催收的力度,每天不同时段通过所有联系人电话联系客户。

    对严重逾期的客户应采取的方案:

    ①电话催收和短信催收的频率再次加强,并不断更新客户新的信息,需找新的突破点。

    ②外访、信函催收的增加,多种催收手段同时交叉进行。

    ③对联系人的施压加大力度,增加联系人代偿的可能性。

    ④营业部建立和维护客户的催收档案,开讨论会交流总结。

    图片

    3.5.2.2 坏账回收

    制定委外策略,防止公司层面的风险。

    3.5.2.3 不良资产处理

    提升不良回收水平,加快不良资产处理进度

    不良资产指顾客不能按期、按量归还本息的贷款,也就是说,银行或信贷个数发放的贷款不能按预先约定的期限、利率收回本金和利息。包括逾期贷款(贷款到期限未还的贷款)、呆滞贷款(逾期两年以上的贷款)和呆账贷款(需要核销的收不回的贷款)三种情况。

    目前银行小微信贷部门处理不良贷款的方式主要有:客户经理(银行工作人员)现场清收、资产重组、内部核销、法律清收、委外清收几种形式。

    客户经理现场清收

    优势:公司账面成本较低,客户经理增强了贷款风险意识;

    劣势:局限性大,很难产生实际效果,银行的机会成本较高,对客户经理自身工作生活影响较大。

    资产重组

    优势:操作简单可以有效的解决账面逾期贷款问题;

    劣势:应用范围小,不能解决逾期贷款的根本问题。

    内部核销

    优势:操作简单可以有效的解决账面逾期贷款问题;

    劣势:不能解决逾期贷款的根本问题。

    法律清收

    优势:正规,通过法律解决问题;

    劣势:实际效果差,处理时间长。

    委外清收

    优势:节约公司精力,处理不良贷款更加专业;

    劣势:费用成本高,容易产生声誉风险

    3.5.3 策略评价

    关于RNC策略评价体系,可参考下文:

    【☆☆☆☆☆推荐】小盾咨询部落-张云杰&陈瀚-贷后策略综合评价体系的建设与实践


    4.决策科学之术

    4.1 规则来源剖析

    4.1.1 规则来源

    回顾第二章,五大维度上考虑风险来源。

    4.1.1.1 监管政策

    国家监管规定不能干的事坚决不能干,相关的管理办法很多,例如:《商业银行信用卡业务监督管理办法》、《商业银行互联网贷款管理暂行办法》、《商业银行服务价格管理办法》等

    例:《最高人民法院关于审理民间借贷案件适用法律若干问题的规定》第二十六条 借贷双方约定的利率未超过年利率24%,出借人请求借款人按照约定的利率支付利息的,人民法院应予支持。定价中年化利率不超过24%,

    :早前《商业银行互联网贷款管理暂行办法》中描述的“单户用于消费的个人信用贷款授信额度应当不超过人民币20万元,到期一次性还本的,授信期限不超过一年”,同时也对于银行发放的贷款资金用途也做了规定,即贷款资金不得用于购房、股票、债券、期货、金融衍生品和资产管理产品投资,不得用于固定资产和股本权益性投资等。

    :由于未成年人是属于限制民事行为能力的人或无民事行为能力的人,所以不允许给未成年人发放贷款。

    4.1.1.2 业务政策

    每家机构在开展相关细分领域的业务之前会基于业务经验设置相关规则,这是业务开展的基本底线。有些规则在产品设计之初就已经包含在产品原型之中。

    :由于贷后处置困难,一定程度上选择性给偏远地区放贷。

    4.1.1.3 行业经验

    基于行业经验制定,比如依据行业内外部黑名单、贷款中介名单、政务数据黑名单等制定的名单类规则。业务经验足够丰富时,也可凭经验制定一些风控规则。

    4.1.1.4 数据挖掘

    除了凭借经验设置规则外,也可以通过数据分析的结果设置规则。通过数据分析后设置规则,这是一个策略人员,或者数据分析人员,日常工作的一大模块。

    基于三方数据分析制定:例如多头类规则,三方数据查询近期内贷款申请次数过多等;

    共债类规则:已有在贷余额过高,或者近期内信用卡使用率过高等;

    反欺诈类规则:针对团伙欺诈进行通讯录分析,设备信息分析,GPS信息分析来制定规则;模型评分类规则:通过算法进行风控建模,模型评分低于某个阈值的客群拒绝等。

    4.1.2 规则分类

    4.1.2.1 第一层——大门

    可以看做看门电子狗,如果触发预警,马上响应。

    密匙类:没有进门秘钥,则拒绝,视情况添加至名单库。

    触发类:触发即警告并拒绝,视情况添加至名单库。如异常注册,通常表现为“是”或“否”

    频率类:对于正常用户来说,用户产生动作只为了完成某一目的,通常目的达到动作就会跟着终止,所以正常用户的动作通常是离散和稀疏的。而对于黑产用户而言,为了实现收益的最大化,高频率的动作是降低成本的核心,所以往往黑产用户的动作是连续而紧密的。基于这种理念,频率类的策略在风控中就有着非常重要的作用。考虑频率特征时,通常考虑几个因素,分别是:时间窗口、资源、运算与阈值。

    异常类:地理位置的异常偏移,前端数据的采集异常等。

    4.1.2.2 第二层——前院

    可以看做红外线探测仪,进门之后,在无法感知的情况下进行扫描。

    命中类:命中黑、坏、高风险则拒绝,通常表现为“是”或“否”

    判定类:无法直接决策,需要加入条件判断,判断为差、黑、坏、高风险,则拒绝。

    判别类:无法直接决策,也无法直接加入条件判断好坏,而是将其分类到某个箱体里,等待进一步评估。

    4.1.2.3 第三层——内阁

    可以看做军机处,进了门也过了院,之后就是接受更为严格的人类智力和能力的识别评估。

    包含类:在某个箱体里面则拒绝,或者结合其他因素进行综合判定。

    二分类:常见于连续型变量,基于经验或规则分析直接做切分,如多头数,高于10直接拒绝。

    赋分类:模型类规则,通过阈值切分来做判定,通常需要结合数据分析和数据挖掘进行制定。

    累积赋分类:累积赋分类规则按类型取最大分值加总,若加总分值超过一定分数,则本流程终止,否则将该赋分类规则结果放入下一流程继续判定。

    4.2 单条规则开发

    除秘钥类、触发类、频率类、命中类等强规则外,在实际业务过程中,经常需要对一些多箱离散型变量或者连续型变量做规则的定义及切分,就需要一套完整的规则筛选、监测、诊断、调优,甚至停用等闭环流程。结合拒绝率、风险收益、工程难度、数据稳定性、数据成本等方面,会时计算更复杂一些。本节主要探究数据科学下的单条规则开发方法。

    4.2.1 规则筛选

    从项目冷启动到业务稳定,不同时段可获取到的数据有效,可设计的规则量有限,可使用的规则制定方法就不尽相同。项目初期,在没有贷后数据的支持下,无法使用量化分析,所以经常使用类似业务规则迁移、专家经验判断、基于业务成本及通过率要求的方法来制定规则。

    4.2.1**.1 **理解成本

    某个层面讲风控的目的就在于效益最大化,所以成本与效益的概念会并存于整个风控流程中,尤其是风控规则的制定。风险成本多样,主要包括以下几点:

    资金成本:放款客户个数平均贷款金额资金利息

    获客成本:放款客户个数*平均每个客户的获客成本

    数据成本:放款客户个数*平均每个客户的数据成本

    人力成本:人均成本*在职员工数

    违约成本:放款客户个数*平均每个客户的违约成本

    图片

    项目初期,财务部门通常会要求风控部提供一张用于财务测算和资产报备的成本测算表,其中包括各项成本、通过率、坏账率、效益等多个指标。将收益看做因变量Y,其他变量看作多元自变量X,形式为Y = Ax+Bx2+Cx3+Dx4+```+E的线性表达式,在坏账率与通过率线性相关的情况下,最终变量关联因式合并可以得到一个类似一元二次等式:Y = Ax2+Bx +C,效益与通过率成二次线性关系。

    通过率与损失率关系曲线

    图片

    成本曲线

    图片

    4.2.1**.2 经验规则**

    第一步:模仿业内同类型业务制定风险策略集,在市场环境、产品定位、业务流程、数据采集相似的情况下,A产品多版本迭代后的有效规则可以迁移至B产品。

    :现金贷产品年龄范围用户风险差异。

    第二步:基于学习到的规则开发初版策略集。

    第三步:制定本产品风险效益表,初步拟定坏账率要求,在保证坏账率的情况下,测算预期通过率。结合市场情况、营销策略、自营成本、风险偏好等,微调规则阈值,达到局部效益最优。

    审批通过率和不良率是一对权衡指标,在新业务上线初期,维持一个较低的通过率可以吸纳最优质的客群。随着业务规模做大和风控样本积累,一定程度上可以开放一些坏账率敞口,提升通过率,尽快积累风险样本,优化策略。

    4.2.1**.3 通过率/不良率**

    信贷规模达到一定量级后,需要较为稳定的通过率,达成目标放款额,通过率太低会导致运营成本过高。同时,因为已有贷后表现,所以规则筛选可以量化开发。此时,综合通过率、不良率、综合效益,得到阶段性全局最优策略方案。

    通过率/拒绝率

    保持一定的通过率/批复率,在授信前端我们考核策略最直观的指标就是通过率指标。

    产品方面:与业内水平相比,拒绝率太高,意味着自身产品有缺陷或者改进的地方。

    用户方面:拒绝就基本意味着用户流失,获客成本如此之高,拒掉一个客户也就等于增加一个份损失。风控的核心不是将所有的坏客户拒绝掉,而是在合理的坏账内实现资产利润最大化。

    跨部门方面:风控部门有义务向业务部门同步并解释通过率降低的原因。

    总而言之,通过率指标,是业务中最重要的几个指标之一,也是影响规则筛选最重要的指标之一。单条弱规则的拒绝率通常在10%以内。

    逾期率/损失率

    逾期率是最佳把控策略效度的指标,将逾期率控制在某个范围下才有盈利的可能。

    利润最大化

    低逾期率是目标,但并不完全意味着高效益**,**核准率、逾期率和利润最大化,这三者关系紧密,不可分割。以利益利润最大的目标实现策略最优化,使用风险倍数做策略切分(cut-off)。

    4.2.1**.4 **准确率/召回率

    准确率(P值)

    即有效识别好坏客户的情况。定义target,如按fpd30、spd30、tpd30、fstpd30,计算badrate、m1+%、m3+%等指标,分析区分度。

    召回率(R值)

    即误分好坏客户的情况。规则有命中就有误杀,在规定准确率高于阈值的前提下,提高规则对坏客户的召回率。

    4.2.1**.5 IV、KS、PSI、LIFT**

    IV:一般来说,最好用信息值或卡方值来评价某个特征,IV值一般要求在0.1以上。

    KS:变量在好坏用户上面的分布差异越大,说明变量对好坏用户区分度越高,对应KS一般也会越高,一般要求在0.2以上。

    PSI:PSI指标反映变量稳定度,策略内的规则,要求稳定可靠持续,psi一般要求0.1以内。

    LIFT:提升度,用在策略制定筛选,一般要求lift值高于3。

    风险排序能力:变量分箱后与坏账率整体趋势单调即可,或者呈U型,局部可能与整体趋势相反。

    :rule1,分析可得:

    • IV0.8,变量有一定的解释能力;
    • 有一定风险排序能力,次数越多坏账率越高,与预期假设相符;
    • 有一定好坏区分能力;
    • 单箱lift值最高3.25左右,大于3;
    • 综合以上来看,该变量适合直接拿来做规则;

    4.2.2 规则监控

    策略上线后,需通过多种统计表或仪表板按照一定周期对策略及规则进行实时监控及预警,包括不限于:

    审批拒绝情况:定期对规则的拒绝量、拒绝率进行监控。

    规则命中情况:监控策略在正常运行阶段是否全部执行,并且监测规则命中占比与预计占比是否发生严重偏差。规则刚上线时,可每日监控规则昨日的触发情况,规则上线一段时间稳定后,可按周、月来监控规则的触发情况,特殊规则需按时监测触发预警。

    规则分布情况:特征分布发生偏离,要及时定位原因,明确是市场、业务还是数据问题,及时分析分布变化,找到解决方法。

    4.2.2.1 指标走势图

    通过率指标

    图片

    坏账率延时指标

    图片

    成本指标

    图片

    4.2.2.2 决策仪表板

    图片

    4.2.2.3 规则分布图

    图片

    4.2.3 规则失效

    规则拒绝量、拒绝率出现异常,当出现以下几种情况,意味着规则一定程度上失效,需要暂停,及时调整或停用:

    审批异常:审批通过率突然降低/突然升高。

    执行异常:流程问题或者数据问题导致规则未命中或者全部命中。

    拒绝异常:规则命中情况发生较大偏移。

    分布异常:欺诈客群、异常渠道进件等集中爆发,导致规则属性分布占比发生较大偏移。

    其他异常

    首先,定位问题。短期内,观察数据分析过程是否出现问题;规则的上线部署是否有问题,如新规则前置,或者部署人员部署规则时取错数等。长期来看,规则出现失效,拒绝率降低可能是客群的原因,可再次复盘,重新调整规则看是否要下线,或者调整规则的阈值。拒绝率升高也有可能是客群的原因,比如近期有什么大的事件发生,导致客群变差。

    4.2.4 规则调优

    4.2.4.1 策略回顾

    对上线后的策略,在一定时间后。对于有表现的数据进行策略回顾,看策略调整后的进件量、通过率及贷后表现。若想及时查看策略上线后的贷后表现可以针对FPD指标分不同的天数去观测,FPD4,FPD10,FPD30等。

    若策略是调宽或者是放松时,可以针对性回顾下豁免出来的客户的进件情况、通过率及贷后表现。若策略是调严或者收紧时,可以针对性回顾拒绝阀值边缘维度的贷后表现及拟定拒绝的客户数。

    4.2.4.2 策略调优

    当资产质量朝坏的方向变化、逾期指标偏高、通过率下降、预测的坏账比率超过预期时,需要对策略进行调优。

    调优类别

    D类调优:在通过的客群中寻找差客户拒绝,将会降低通过率,且降低逾期指标,离线即可完成量化分析。

    A类调优:在拒绝的客群中找好客户通过,将提高通过率,逾期指标可能增加,需要决策引擎标记豁免部分样本分析。

    调优步骤

    确认调整贷前策略还是贷中策略——是D类调优还是A类调优——量化分析调优阈值——预测按照方案调整后的效果——调整后验证结果与预计效果的一致性——重复修正

    【☆☆☆☆☆推荐】FAL-梁校长-审批通过率突然下降应该如何应对

    4.2.4.3 阈值管理

    专家阈值

    由于每日风控请求量都是海量的,首先利用专家阈值进行初步过滤,基于多维度指标的静态阈值对明显存在风险的账号和行为执行相应的风控措施。专家阈值是基于专家征询法(DelphiMethod)对单个指标的阈值进行一一确定,具有客观性和代表性。

    基于用户行为的动态阈值

    用户行为模型是基于用户行为,动态调整阈值的一种综合性方法。技术路径流程具体分为三个步骤:

    ①基于用户行为,以用户为主键,利用设备指纹、历史风控请求等特征,采用聚类分析、随机森林等深度模型进行用户分类和特征挖掘;

    ②构建用户的风险评级系统,其实现逻辑是对模型结果进行计算,对各个群体分配不同的风险等级;

    ③线上沿用训练好的模型参数对样本进行计算,实现高可用的个性化智能风控。线上采用这样的浅度模型方式进行判断和匹配,减少运算压力且提高效率。

    特征工程来源于风控系统的离线特征库。深度模型用于离线环境下的模型训练,包含用于特征探索的非监督模型和用于风险概率预测的监督模型,输出结果为预测的风险概率。

    基于时间序列的动态阈值

    时间序列(或称动态数列)是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。时间序列分析的主要目的是根据已有的历史数据对未来进行预测。

    传统的时间序列预测方法有:简单平均法、移动平均法、指数平滑法等。风控系统的阈值计算常使用移动平均法(moving average),即:通过对时间序列逐期递移求得平均数加/减标准差作为预测值。

    4.2.5 规则停用

    当发生一些较为重大的驱动事件或者影响时,规则有必要停用,如:

    策略生命周期:比如早期人工干预占比较大,需要关闭部分规则以发现更多个性化问题。

    政策限制:爬虫业务受强监管后,合规三方数据源的要求成为刚需,部分规则完全无法使用。

    数据失源:比如审批系统与三方数据平台交互,平台出现问题,调用异常,数据无法获取。一般外接数据最好有备用源,出现问题时可替代,但需耗费一定成本和周期。

    规则失效:规则不再有区分度。

    4.3 复杂策略生成

    在风险决策初期,策略规则作为一种风险识别的方法,其自身具有直观、易用等特性。对于新产品上线前的风险决策,因为没有数据样本的原因,单维度风险判断的简单规则起到不可替代作用。但也因为策略规则的设定原理,其自身很难做到风险决策的精细化管理。

    一方面,随着业务的发展,风险决策体系下需要构建一些复杂的策略规则组合。随着数据量的增多、外部数据源的接入 ,规则也需要进行结构化设计,上线时符合一定的部署逻辑,便于定位问题,迭代优化。

    另一方面,通过规则组合实现的精细化风险管理,会不断地增加策略规模,最终导致规则的复杂和冗余,如果对策略优化、回顾并没有正向影响,就会与策略规则的易用、直观等特性产生

    因此,策略规则的开发及优化过程,需要由简单到复杂再到简单,从结构上和流程上达到全局最优和局部最优。

    4.3.1 规则集

    规则的制定通常需要适用于对应的场景,这样就需要考虑规则组成的策略集、适配的风险类型及对应的风险事件等。

    图片

    ①风险&风险类型:机器行为、伪冒申请、动码攻击、异常行为、暴力破解、本人欺诈、账户盗用、垃圾注册、失信风险、多头风险等。

    ②事件&事件类型:常见的事件被包含在不同的场景中,例如:注册,修改,登录,贷款,提现等,具体可包括:收单事件、激活事件、绑定银行卡事件、名单对比事件、人脸识别事件、贷款事件、登录事件、修改事件、修改登录密码事件、修改手机号事件、订单事件、支付事件、充值事件、退款事件、还款事件、交易事件、转账事件、小额打款事件、提现事件、邀请事件等。一个事件通常对应一个策略。

    ③策略&策略集:由规则集组成,是按照某种策略模式执行的一个或多个规则集合。策略集被包括在具体的风险事件里,贷款流程的每个节点都会触发一种风险类型,从而触发对应的事件及策略集。

    ④规则&规则集:由具体的规则组成,是一种由一组普通规则和循环规则构成的规则集合,是使用频率最高的一种业务规则实现方式。拆解具体的策略集,可以看到里面包含的具体的策略明细。

    规则为风险决策执行的最小单元,由变量、表达式、条件值、决策结果组成,是指一种由如果、那么、否则三个部分构成的规则,如下:

    图片

    4.3.2 决策表

    4.3.2.1 普通决策表

    决策表是一种以表格形式表现规则的工具,它非常适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况,决策表提供精确而简洁描述复杂逻辑的方式,可将多个条件及与这些条件满足后要执行动作以图形化形式进行对应。

    图片

    4.3.2.2 交叉决策表

    交叉决策表又叫决策矩阵,是一种特殊类型的决策表。与普通决策表相比,交叉决策表的条件由纵向和横向两个维度决定,而普通决策表的条件只是由纵向维度决定;但在普通决策表的动作部分可以是三种类型,分别是赋值、输出和执行方式,而在交叉决策表中动作部分就是纵向和横向两个维度交叉后的单元格的值,一般来说,这种交叉后单元格的值都是赋给某个变量或参数,所以交叉决策表的动作基本就一个,那就是赋值。

    图片

    4.3.3 决策树

    决策树又称为规则树,是规则引擎中另外一种构建规则的方式,它以一棵躺倒的树形结构来表现规则(之所以将其躺倒是为了节省空间,否则一棵稍微大点的树将会占用很大的页面空间),决策树表现业务规则更为形象,实际上,无论是决策树、决策表还是评分卡,都可以通过决策集来实现,只是,对于某些业务规则来说,通过决策树或决策表或评分卡实现起来更为形象、快捷。

    图片

    4.3.4 评分卡

    4.3.4.1 普通评分卡

    评分是对个人或机构的相关信息进行分析之后的一种数值表达,表示此人或此机构由于信用活动的拒付行为所造成损失风险的可能性,评分通常用于对个人或机构的风险管理与评估。

    使用二维表形式展示目标对象的各个属性,针对不同属性设置不同区段的条件,每个区段条件对应不同的分值,运行时引擎会根据定义的区段条件自动计算目标对象的评分。一个定义好的评分卡效果如下图所示:

    图片

    4.3.4.2 复杂评分卡

    对于普通评分卡,它可以针对某个对象的一些属性值进行评分,但只能针对是单个对象属性进行条件判断,如果需要对多个对象属性进行条件叠加判断,那么普通评分卡就实现不了,所以需利用复杂评分卡,实现评分时多条件叠加判断,进而使得评分卡的功能更加的完善和强大。

    图片

    4.3.5 决策流

    决策流又称规则流,它整个的结构类似于工作流,用来对已有的决策集、决策表、交叉决策表、决策树、评分卡、复杂评分卡或其它决策流的执行顺序进行编排,清晰直观的实现一个大的复杂的业务规则。

    决策流可以实现对已有的决策集、决策表、交叉决策表、决策树、评分卡、复杂评分卡或其它决策流进行编排执行;编排过程中即可以常见串行执行,也可以并行执行、或者是根据条件选择分支执行

    决策流核心的构成包含“开始节点、规则/评分卡/模型等已封装好的规则包节点、决策节点、分支节点、聚合节点。

    开始节点:开始节点为一个决策流开始的地方,决策流程必须有始有终且必须以开始节点作为开始;

    规则包节点:实际就是用来添加之前在规则、评分卡、模型、表达式中已经创建好的规则产品;

    决策节点:是在决策时,根据为其下流出连接配置的条件来决定究竟应该走哪条连接的节点,所以根据这一特性,决策节点下流出连接至少要有两条,否则决策节点就没有意义了;

    分支节点:实现规则流多条并行的节点,通过这个节点,可以根据当前节点下流出连线数量,将当前规则流实现拆分成若干条子的规则流实例并行运行;

    聚合节点:用来聚合由分支节点拆分出来的多个子的规则流,实现多条规则流的汇合;

    有始有终,决策流程的结束,一般是伴随着决策总、分的流程的执行,执行到最后节点自动结束,输出决策结果。

    4.3.5.1 串行流

    图片

    按照模块功能性:按照模块功能性的需求划分的结构化部署,功能需求型的策略重点就是在风险的流程架构中,能分得清具体实现的功能。在具体的细分结构中,通常就是在一套的风险流程完整呈现,在梳理具体的规则前,我们必须理清楚整个风险的业务顺序。

    策略有效程度:按照策略的有效程度的结果性策略。策略的有效性就是在划分策略的时候,这条规则是不是适合这个产品的属性跟内容,如果是前相关有效的规则就将其划为强拒绝,或者豁免,所以这里会按照强拒绝+准入+提醒类规则的把控进行结构性策略的划分。

    4.3.5.2 冠军策略

    对于规则修改、调优时尤其重要。两套规则跑所有的数据,最终来比较规则的效果。另一种是分流——10%跑新规则,90%跑老规则,随着时间的推移来根据测试结果的有效性。

    图片

    4.3.5.3 从复杂到简单

    从复杂到简单,构建清洗的决策流程,同时降低规则的复杂度,提升决策性能。

    图片

    4.4 系统策略部署

    本节为创新部分,更多的起到一些抛砖引玉的作用,因为能够系统的把与科学管理或者业务决策相关的科学、系统工程、自动化理论、工具结合起来进行全面分析的资料属实太少,笔者能力也有限,只是借一身斗胆将其整合,未敢冒然大肆宣扬。

    在进行科学决策时,尤其涉及到系统和工具,我们首先应该有工程化思维,把决策应用看做一件由系统、非系统、元素组成的事件,之后要考虑这个系统中自动化的程度以及与自动化相关的其他元素。在进行决策时,要综合选择全局和局部最优方案,最终通过引擎将决策实现。

    4.4.1 系统工程化

    工程系统(systems engineering for projects)是组织管理大型或者较大型工程项目的规划、研究、设计、制造、试验和运行的技术。

    大型工程项目都是复杂的大系统,一般都具备下列五个特点:

    规模庞大。一般都要用成千上万个零部件装配而成。因此要把它分解成合理的多级递阶结构。

    因素众多。它不仅有本身的技术经济因素,还涉及社会、政治、经济、环境等许多外部因素,因此要建立多层次、多目标的目标体系。

    技术复杂。往往需要不同行业的许多机构和不同专业的许多科技人员协同工作,涉及多个单位,需要多人参加。

    开发期长。一般大型工程项目需要较长时间才能完成。

    投资额大。研制费用巨大。

    这些特点充分说明了大型工程项目都需要运用系统工程的方法来进行协调、控制、规划、组织和管理。

    4.4.1.1 系统与元素

    系统:来源于英文system的音译,即若干部分相互联系、相互作用,形成的具有某些功能的整体。系统由多种元素组成,有一定的结构,有一定的功能,系统具有以下特性:

    多元性:系统是多样性的统一,差异性的统一;

    相关性:系统不存在孤立元素组分,所有元素或组分间相互依存、相互作用、相互制约;

    整体性:系统是所有元素构成的复合统一整体。

    元素

    ①系统元素之间的关系是相对稳定的。

    ②元素间的复合联系使系统成为一个有机的整体。

    ③元素组成系统之后可能会有孤立元素所不具备的功能。

    ④每个系统至少由两个以上的元素组成。

    4.4.1.2 控制论

    在控制论中,“控制”的定义是:为了“改善”某个或某些受控对象的功能或发展,需要获得并使用信息,以这种信息为基础而选出的、于该对象上的作用,就叫作控制。由此可见,控制的基础是信息,一切信息传递都是为了控制,进而任何控制又都有赖于信息反馈来实现。信息反馈是控制论的一个极其重要的概念。通俗地说,信息反馈就是指由控制系统把信息输送出去,又把其作用结果返送回来,并对信息的再输出发生影响,起到制约的作用,以达到预定的目的。

    控制论主要包括三大理论

    信息论:主要是关于各种通路(包括机器、生物机体)中信息的加工传递和贮存的统计理论。

    自动控制系统的理论

    反馈论:包括从功能的观点对机器和物体中(神经系统、内分泌及其他系统)的调节和控制的一般规律的研究。

    自动快速计算机理论:即与人类思维过程相似的自动组织逻辑过程的理论。

    控制系统主要包括四大特征

    特征①:要有一个预定的稳定状态或平衡状态。例如在上述的速度控制系统中,速度的给定值就是预定的稳定状态。

    特征②:从外部环境到系统内部有一种信息的传递。例如,在速度控制系统中,转速的变化引起的离心力的变化,就是一种从外部传递到系统内部的信息。

    特征③:这种系统具有一种专门设计用来校正行动的装置。例如速度控制系统中通过调速器旋转杆张开的角度控制蒸汽机的进汽阀门升降装置。

    特征④:这种系统为了在不断变化的环境中维持自身的稳定,内部都具有自动调节的机制,换言之,控制系统都是一种动态系统。

    从控制系统的主要特征出发来考察决策系统,可以得出这样的论:决策系统是一种典型的控制系统。决策系统中的控制过程在本质上与工程的、生物的系统是一样的,都是通过信息反馈来揭示成效与标准之间的差,并采取纠正措施,使系统稳定在预定的目标状态上的。因此,从理论说:适合于工程的、生物的控制论的理论与方法,也适合于分析和说明决策控制问题。

    4.4.2 决策自动化

    集最大程度与最优效能功能的自动化是刚需

    • 在即将来临的自动化科技革命中,策略层将面临一个重大的考验,也是一个艰巨的任务。
    • 自动化并不是以“技术”为其特征。就像其他技术一样,自动化主要是各种观念构成的体系,它的技术方面是其结果,而非原因。
    • 新科技强调的是流程,把流程看成整合而协调的整体,目的是产生最佳流程——能以最低的成本和最小的投入,稳定地生产出最多样的产品。
    • 自动化技术的运用,不但不会导致劳动力过剩,反而会需要大量技术高超、训练有素的人力——需要管理者来思考规划,需要训练有素的技师和工人来设计新工具,并且生产、维修、操作这些工具。
    • 自动化不会像突如其来的洪水般迅速将我们淹没,而会如涓涓细流般逐渐影响我们。

    只有当人们彻底地考虑了机器背后的那些概念,机器和精巧的装置才能被有效地运用。

    在决定信贷策略规则自动化程度之前,要考虑以下几个问题:

    自动化程度:选择哪种硬件、软件和网络?自动化系统不便宜,其购买成本也未必合理。了解自动自动化审批流程的类型,自动化审批流程里使用的数据维度。

    权限职责:了解决策人员组成:决策人员、项目组、项目监督管理组。谁将为系统负责?系统设在哪里?这主要取决于公司的技术水平和资源投入。

    员工沟通:员工会受到哪些影响?如何告知他们自动化决策流程带给他们工作的变化?管理变化需要大量的投入,从而减轻员工担忧,鼓励他们适应新的工作模式。

    客户教育:如何告知客户决策流程中发生变化的地方?如何向被拒绝的客户解释原因?客户不仅需要了解业务流程的变化,而且也应该能对系统决策提出质疑。

    分析利弊:线上纯自动化审批流程的利与弊,如何在自动化决策流程中实现资产组合利润最大化的调整?

    单个审批员的效率无法对应业务的快速增长。随着互联网对于原生业务的加速,外加通过机器学习算法模型的校准和大数据风险策略的排查,需要经过人工电话审核和批单的案件将越来越少,自动化需求越来越受重视。但是,再高大上的算法也很难替代人类的思考,在实际业务过程尤其是业务启动时期,对于一些外部数据的缺失导致规则或者模型不起作用的,可以通过人工审批;对于异常进件,转人工审批可以识别反欺诈行为。

    4.4.3 决策最优化

    【☆☆☆☆☆推荐】小盾咨询部落- 张玲妹-最优化决策在零售信贷定价方面的应用实践

    在激烈的市场竞争中,企业的终极决策形态是力求最优化,即全面考虑所有客观和主观约束条件,以及各项约束条件之间、各项决策之间、决策与决策对象的响应之间动态的相互作用,利用先进的数学方法求出最优解,也就是最优决策。最优化有三个重要因素:限制条件、目标函数、决策因子。用一句话可以简单描述为:构造一个目标函数,使得在限制条件下,目标函数取得极大值的决策结果。

    最优化方案出来后,还需要有后续的一系列配套措施,以检验最优化方案的效果,并为后续的定价方案的持续优化提供依据。配套措施包括但不限于如下方面:

    (1)最优化方案的说明及业务推演过程;

    (2)不同备选方案的业务效果对比分析;

    (3)冠军/挑战者方案设计;

    (4)配套的市场营销方案设计;

    (5)上线后的跟踪报表分析模板设计及跟踪报告;

    (6)方案回顾及后续优化建议。

    最优化策略制定和实施是一个系统工程,需要对底层数据及业务的理解,统计建模及优化算法的应用,需要对产品及所处行业竞争格局有一个宏观的认识和清晰的规划,还需要有管理层的大力支持及运营团队来配合策略的开展及后续的持续优化。

    4.4.4 决策引擎化

    本节内容略作简化,如需详细了解决策引擎相关,请参考文章:全面了解风控决策引擎

    4.4.4.1 引擎组件

    规则引擎平台一般由两部分构成:一个是设计器部分;另一个是规则执行引擎部分。设计器部分主要是由库文件设计器以及具体的规则文件设计器两部分构成,由浏览器直接可视化、图形化操作。规则引擎核心组件为构成规则引擎的最小集合,用以支持完成基础规则判断。

    图片

    流量控制器:负责不同版本规则的调度。方便业务方修改规则后,灰度部分流量到新规则。

    资源管理器:数据存储系统、文件系统目录、接口管理。

    规则设计器:向导式规则集、脚本式规则集、决策表、交叉决策表(决策矩阵)、决策树、评分卡、复杂评分卡、规则流等类型的业务规则设计工具。

    规则执行引擎:调度器、驱动器、预加载规则、预编译规则、计算集群。

    时间窗模块:时间窗模块为规则引擎提供时间窗因子。时间窗因子可用于统计时间窗口内行为发生的次数、时间等。

    配置中心:权限配置、账户配置、功能配置等。

    4.4.4.2 核心功能

    决策流开发、规则设计、知识库管理、权限管理、监控报警等。

    使用者通过浏览器打开规则设计器来定义业务规则,完成后的业务规则文件会被存储在规则存储仓库中(规则存储仓库既可以是文件系统中的某个目录,也可以存储于数据库当中)。规则文件调用时引擎会从规则存储仓库里把指定的规则文件取出,再通过规则构建引擎对规则进行解析、编译,最后由规则执行引擎执行并返回结果。

    图片

    开发人员在程序中使用规则引擎基本遵循以下5个典型的步骤:

    • 创建规则引擎对象;
    • 向引擎中加载规则集或更换规则集;
    • 向引擎提交需要被规则集处理的数据对象集合;
    • 命令引擎执行;
    • 导出引擎执行结果,从引擎中撤出处理过的数据。

    4.4.4.3 系统要求

    好的决策引擎产品甚至无需 IT 人员的参与 就可以实现规则的变更, 减少了维护的成本。同时决策引擎响应规则变更的速度相当快,1-3 天就可以完成,大幅度减少业务人员与技术人员的沟通成本,花更少的时间处理数据,加速业务扩展。

    系统要求包括不限于:灵活可配、快速启动、高性能可用、部署模式多样化、支持外部多方数据源调用、高效能规则管理、支持模型评分的部署与维护、便捷的版本控制机制、技术对接成本低、系统监控及状态检查等。

    4.5 决策管理控制

    决策系统虽然功能强大,但也不是万能的,需要检查和制衡来保证系统正常运行,保护系统的完整性。

    4.5.1 管理控制

    竞争环境,风险无处不在,因此在决策过程中要对风险和系统做一定的管理控制。

    4.5.1.1 策略控制

    ①与相关人员签署保密协议,防止他们利用与公司的关系将保密资料泄露给他人。但这无法应对员工跳槽 ,限制太多反而会阻碍工作。

    ②需要建立策略及模型开发文档,文档包括各种假设前提、样本细节、好坏定义、特征分析、市场细分、拒绝推断和算法模型。内部开发的文档是绝密信息,审计人员都不能接触。还可以准备多种版本的文档,应对内部、外部不同的需求。

    ③每一阶段都需要明确的签字批准,不然不能继续。

    ④检验实施阶段需要口令保护,确保只有拥有权限的员工才能接触到核心策略。对非授权操作进行责罚。尽量减少评分模型的变动,更多地进行政策策略上的调整。

    ⑤策略控制和开发控制类似,只是保密程度相对较低。要用文档记录策略的变更和实证分析。冠军挑战模式比较有效,表明某个变更确实有利于发展。

    4.5.1.2 撤销控制

    有时候,人为因素的判断较系统更为有效,当特殊事件发生、系统投入过大、系统失效等的时候,需要及时调整系统不合逻辑的地方,有必要的情况下可以撤销系统的控制,保证更大的系统能够正常稳定有效的运行。

    4.5.2 跟踪监控

    监控的目的在于检查策略及系统的工作情况和流程过程。

    监控的关键在于:

    ①反馈决策的时间

    ②提供建议的时间

    4.5.2.1 决策报告

    决策报告通常分为两位,即监控报告和追踪报告,在这些报告中,还可以将其划分为快照报告和偏移报告。

    快照报告:某个时间点的报告。

    偏移报告:针对一段时间的报告。

    前端报告:关注流程和人群稳定性,不涉及现有账户,决策一开始就可以出这些报告。

    决策偏移:跟踪人群和操作偏移如何影响系统的变量和模型分数结果。

    选择过程:选择过程的投入产出,如处理申请数量和接受合约数量。

    撤销理由:选择过程后最终决定的变化,目的在于从决策中获得最大利益。

    后端报告:关注现有账户表现,回测决策和选择过程,给出这类报告需要等账户成熟。

    组合分析:逾期状态的分布和状态转移。

    表现跟踪:策略规则的区分能力、准确程度和稳定性,账户需要一段时间成熟。

    撤销表现:如果撤销决策,账户的表现情况。

    组合年表:对可能影响报告结果的事件详细描述,这些事件与营销、系统、策略相关以及更广泛的经济环境相关。

    这些报告形式并非一成不变,可以根据要求重新整合。报告应满足以下基本要求:

    ①易于解释,多用图表。

    ②连续型,按月统计。

    ③易于生成,随时可以提供。

    撰写报告的原则是尽可能保证清晰整洁,分析人员可能会更进一步分析,所以报告制度应当允许他们有足够的灵活性,对数据有全方位的认识,以便对样本、特征、时间等进行探索。

    4.5.2.2 前端报告

    让策略适应某个具体决策环节会出现大量的问题,同时会产生较大偏移。策略偏移、操作偏移、市场偏移或经济偏移都会带来变化。总做跟踪偏移和分析偏移原因的工具有:

    总体稳定性报告:跟踪特征分布的变化,观察观测分数和期望分数的差异。

    分数偏移报告:找出引起规则或分数分布变化的原因,分数或属性层面的原因都有可能。偏移所产生的变化越小越好。

    最后,客户选择过程的监控也尤为重要:

    决策过程:从申请开始到最终决策的过程,包括撤销监控。

    分数分布:系统或最终决策的分数,显示评分如何影响决策和分数撤销的程度。

    规则分布:检查某个规则对通过率、拒绝率的影响。

    人为撤销:检查撤销理由对通过率、拒绝率的影响。

    4.5.2.3 后端报告

    组合分析报告可以关注账本的贷余额、市场细分、在账时间、贷款期限等,针对组合风险,主要有两种报告:

    逾期分布:用能提现风险的指标描述账户分布,如逾期天数。

    转移矩阵:根据逾期状态、金额等因素找出账户在一个特定时间内的转移情况。

    策略是用观测数据和结果数据开发的,所以自然也用这两种数据来监控。逾期分布报告只能给出贷款组合的总体风险情况,无法表明接下来会发生什么。表现跟踪报告刚好能弥补逾期分布报告的不足。

    模型表现:相对分数的逾期分布分析。

    账龄分析:相对时间的组合表现分析。

    分数偏差:在特征层面衡量策略分数差异的工具。


    5.终章·策略师

    5.1 策略师的道法规术

    总结本文,笔者不断重复强调“策略师”三字,目的就在于深入人心,从而在这个行业里集结一个作风优良、能打胜仗的策略师团队。之所以称为团队,是希望借集体的力量梳理一套适用于多数业务环境下的风控策略体系,文章开始海报图片的目录就是我们的总体框架,基本分为逻辑、业务、规则、分析4个层次,恰好对应着道理、方法、规则、技术这四个不同维度或者格局下的策略知识体系。希望大家都能够加入“策略师”这个大家庭,后续我们讨论也好、项目也好、课程也好、线下交流也好,都基本围绕这个框架展开。笔者不才,只能抛砖引玉,希望大家多多思考交流,让这个体系能够更加完善。

    5.2 策略师的格局

    尘归尘,土归土;上帝的归上帝,凯撒的归凯撒。

    合而谋之,分而治之。

    5.3 策略师的策略

    全局最优策略:每一位既已入局的player都有机会扮演弄潮儿的角色,弄潮儿向涛头立,手把红旗旗不湿。

    正阳五度:态度、深度、广度、效度、温度。有逻辑,有节奏,先广度再深度也好,先深度再广度也罢,这个因人而异,与个人兴趣、性格、职业习惯、职场环境等有莫大的关系。但是要想在一个领域有所建树,这五个维度缺一不可。

    局部最优策略:产品经理、策略师、模型师、分析师选一,然后择良木而栖。

    正阳五业:择业、从业、立业、展业、守业。一年择业、两年从业、三年立业、四年展业、五年守业,在而立到不惑之年的过度过程中,定向定性,适时跃迁,完成职业生涯的塑造。

    5.4 策略师的行动

    心法一:正阳十二字解惑心法:目标紧、策略准、执行狠、复盘稳。

    心法二:善于借助集体的力量。

    心法三:大数据风控、商业数据分析、用户运营,每一个板块都值得挖掘,用一种匠人精神去对待自己的职业和事业。

    至此,终章!


    为尽可能避免文章有常识性或者逻辑性错误,笔者写作始末,累计阅读各类互联网、金融、信贷、策略类文献(书籍)不计其数。感谢这个领域的贡献者,不管是学习整理用于内化,还是学有所成用于分享,终究还是文字让我们有幸认识他们。读他们的文章,不仅仅是学习知识,更像是在认识一个个新朋友,与他们交流,了解他们的故事,感受他们的知性与感性,然后写到自己的人生里。正阳之光,跃然纸上。

    借鉴引用

    【1】【书籍】《信用评分工具:自动化信用管理的理论与实践》

    【2】【书籍】策略思维(商界、政界及日常生活中的策略竞争)

    【3】【书籍】一本小小的蓝色逻辑书

    【4】【书籍】乌合之众

    【5】【书籍】管理的实践

    【6】【培训】韩士渊-信贷业务风控策略简介

    【7】【文章】FAL-梁校长-1.8万字归纳风控策略的所有知识点?呕心沥血

    【8】【文章】番茄风控大数据-风控策略篇—风险事件&策略集&规则

    【9】【文章】小盾咨询部落-张云杰&陈瀚-贷后策略综合评价体系的建设与实践

    【10】【文章】小盾咨询部落- 张玲妹-最优化决策在零售信贷定价方面的应用实践

    【11】【文章】知乎:产品老唐-策略在风控上的应用

    好文推荐

    【文章】战略的特点有哪些?

    【文章】学习策略的特征和意义是什么呢?

    【百科】头部效应

    【百科】长尾效应

    【百科】边缘效应

    【百科】思维模式

    【文章】同步和异步的区别

    【文章】关于有效行动,你需要知道的

    【百科】工程系统

    【百科】控制论

    【报告】亿欧智库-《2018中国智能风控研究报告》

    【文章】贾凤涛-商业银行信贷业务策略研究

    【文章】肖铁柱-如何做一个优秀的 P2P 风控人员?

    【文章】泥鸽靶-银行零售信贷风险模型应该如何做

    【文章】边边同学-个人信贷业务流程中的风控策略

    【文章】风控建模-互金线上产品风控流程

    【文章】DataHunter-大数据风控如何做?

    【文章】人人都是产品经理-如何进行用户分层才合理?

    【文章】屁屁和铭仔的数据之路-大爷,进来啊,风控一条龙啊

    【培训】66号学苑-消费金融风控策略及整合能力

    【文章】66号学苑-现金贷必须经历的几道坎:系统看不到也不能控制风险怎么办?

    【文章】小盾咨询部落-新冠疫情对信贷行业的影响及对策建议

    【文章】番茄风控大数据-风控中的新户与老户策略

    【文章】番茄风控大数据-风控数据分析师都是分析啥内容

    【文章】番茄风控大数据-一文了解授信审批策略及流程

    【文章】消费金融风控联盟-面试分享(风控数据岗位)

    【文章】消费金融风控联盟-信用类风控策略解析

    【文章】风控圈子-风控策略开发思路与流程详解

    【文章】尹楠-金融数字化营销强转化需要营销和业务系统的深度整合

    【文章】风控猎人-风控体系及政策设计介绍

    【文章】人人都是产品经理-长文详解:线上消费金融产品获客与运营之道

    【文章】FAL-一文从产品设计到风控模型全面讲解信用循环现金贷款

    【文章】番茄风控大数据-对某产品政策性文件的解读

    【文章】番茄风控大数据-疫情期间如何把控客群风险(及循环贷产品)

    【文章】番茄风控大数据-介绍某现金贷平台的决策规则

    【文章】番茄风控大数据-某车贷产品风控策略详情

    【文章】番茄风控大数据-详解小微机构贷前准入规则

    【文章】消费金融风控联盟-风控策略之反欺诈

    【文章】可能是在修仙-浅谈风控如何提高模型的准确性

    【文章】乌蒙山仔-浅谈风控策略规则开发与挖掘

    【文章】据数-风控策略,如何进行变量分析?

    【文章】FAL-审批通过率突然下降应该如何应对

    【文章】FAL-风控批核率骤降,如何策略调优?

    【文章】屁屁和铭仔的数据之路-冷启动的风控模型怎么做

    【文章】屁屁和铭仔的数据之路-你知道你的模型可以为公司赚(省)多少钱吗?

    【文章】番茄风控大数据-规则挑选此三法,后浪学会变巨浪

    【文章】番茄风控大数据-策略规则结构化设计

    【文章】番茄风控大数据-基于串行规则流的黑名单跟准入

    【文章】番茄风控大数据-风控策略调优——二手车车龄政策调整

    【文章】小盾咨询部落-新冠疫情下的信贷资产压力测试


    这里是正阳能量场, 很高兴能通过文字认识你,点个关注,后会有期。

    微信公众号:正阳能量场

    往期精彩

    (一)全面了解小微信贷风控

    (二)全面了解风控决策引擎

    (三)全面了解信贷业务流程

    (四)全面了解量化风险管理

    (五)全面了解风控指标体系

    (六)全面了解风控数据体系

    展开全文
  • 为了建立直观的理解,我们创建了一个简单的说明性示例,清楚地显示了策略空间中的局部最优可以阻止策略梯度方法成功传输,但不会影响我们以价值为中心的框架。 我们总结了以下贡献: 我们提供理论上的理由,从...

    TRANSFER VALUE OR POLICY? A AVALUE-CENTRIC FRAMEWORK TOWARDS TRANSFERRABLE CONTINUOUS REINFORCEMENT LEARNING

    ABSTRACT

    Transferring learned knowledge from one environment to another is an important step towards practical reinforcement learning (RL). In this paper, we investigate the problem of transfer learning across environments with different dynamics while accomplishing the same task in the continuous control domain. We start by illustrating the limitations of policy-centric methods (policy gradient, actor-critic, etc.) when transferring knowledge across environments. We then propose a general model-based value-centric (MVC) framework for continuous RL. MVC learns a dynamics approximator and a value approximator simultaneously in the source domain, and makes decision based on both of them. We evaluate MVC against popular baselines on 5 benchmark control tasks in a training from scratch setting and a transfer learning setting. Our experiments demonstrate MVC achieves comparable performance with the baselines when it is trained from scratch, while it significantly surpasses them when it is used in the transfer setting.
    将学到的知识从一个环境转移到另一个环境是实践强化学习(RL)的重要一步。在本文中,我们研究了在不同动态的环境中进行转移学习的问题,同时在连续控制域中完成相同的任务。我们首先阐述了在跨环境传递知识时以政策为中心的方法(政策梯度,行为者 - 评论家等)的局限性。然后,我们为连续RL提出了一个基于模型的通用的以价值为中心(MVC)的框架。 MVC在源域中同时学习动态近似值和值近似值,并基于它们做出决策。我们在5个基准控制任务中针对流行基线评估MVC,从头开始设置培训和转移学习设置。我们的实验表明,当从头开始训练时,MVC可以获得与基线相当的性能,而当它用于传输设置时,它显着超过它们。

    1INTRODUCTION

    While the achievements of deep reinforcement learning (DRL) are exciting in having conquored many computer games (Go (Silver et al., 2016; 2017), Atari games (Mnih et al., 2015)), in practice, it is still hard for these algorithms to find applications in real-world environments. Among the impediments, a primary obstacle is that they could fail even if the environment to deploy the agent is slightly different from where they were trained (Tan et al., 2018; Bousmalis et al., 2018; Tobin et al., 2017; Tamar et al., 2016). In other words, they lack the desired ability to transfer experiences learned from one environment to another. These observations motivate us to ask, (1) why are current RL algorithms so inefficient in transfer learning and (2) what kind of RL algorithms could be friendly to transfer learning by nature?

    In this work, we explore the two questions and present a partial answer based on analysis and experiments. Our exploration concentrates on control tasks due to its broad impact; in particular, we further assume that across environments only their dynamics are not the same. Possible sources of such dynamics discrepancy could be variation of physical properties such as object mass, gravity, and surface friction. It is worth noting that our framework is general and we do not assume any specific perturbation source or type.

    Our investigation starts with understanding the limitation of transferring the policy function (which maps a state to a distribution of actions) across environments. We analyze this transfer strategy because the de facto DRL framework in the control domain (DDPG (Lillicrap et al., 2015), TRPO (Schulman et al., 2015), A3C (Mnih et al., 2016), etc.) are policy-centric methods, which directly optimize the policy function. As a result, these methods learn a precise policy function, and sometimes also produce an imprecise value/Q-function as a side product. However, even if a perfect policy function has been learned from the source environment, this policy could behave quite poorly, or even fail, in the new environment, especially when the action space is hard-constrained (e.g., force or torque usually has a maximal value). We illustrate this by a simple example: Imagine a child shooting three-pointers when playing basketball. With a 600g ball, she can make the three-pointer. However, she may hardly make the three with a 800g ball because it is too heavy. What will she do? Most likely she will step forward, approach the basket, and make a closer jump-shot. We see that marginal dynamics variation can lead to drastic policy change, and direct policy optimization initialized from the old policy would not be efficient. We will analyze this issue more systematically by theoretical and experimental approaches throughout the paper.
    虽然深度强化学习(DRL)的成就令人兴奋,但已经征服了许多电脑游戏(Go(Silver et al。,2016; 2017),Atari游戏(Mnih et al。,2015)),在实践中,它仍然很难这些算法可以在真实环境中查找应用程序。在这些障碍中,一个主要障碍是,即使部署代理的环境与他们接受培训的环境略有不同,他们也可能失败(Tan等,2018; Bousmalis等,2018; Tobin等,2017; Tamar等,2016)。换句话说,他们缺乏将从一个环境学到的经验转移到另一个环境的理想能力。这些观察激励我们提出这样的问题:(1)为什么当前的RL算法在转移学习中效率低下;(2)哪种RL算法可以友好地转移学习本质?

    在这项工作中,我们探讨了两个问题,并基于分析和实验提出了部分答案。由于其广泛的影响,我们的探索集中在控制任务上;特别是,我们进一步假设在整个环境中,只有它们的动态不同。这种动态差异的可能来源可能是物理性质的变化,例如物体质量,重力和表面摩擦。值得注意的是,我们的框架是通用的,我们不承担任何特定的扰动源或类型。

    我们的调查首先要了解跨环境转移策略功能(将状态映射到动作分布)的限制。我们分析了这种转移策略,因为控制域中的事实上的DRL框架(DDPG(Lillicrap等,2015),TRPO(Schulman等,2015),A3C(Mnih等,2016)等)是以政策为中心的方法,直接优化政策功能。结果,这些方法学习了精确的策略功能,并且有时还产生不精确的值/ Q函数作为副产品。然而,即使从源环境中学习了完美的策略功能,该策略在新环境中也可能表现得很差甚至失败,尤其是当动作空间受到严格限制时(例如,力或扭矩通常具有最大值)。我们通过一个简单的例子来说明这一点:想象一下孩子在打篮球时投中三分球。凭借600克球,她可以制造三分球。然而,由于太重,她可能很难用800克球制作三个球。她会做什么?最有可能的是,她会向前迈进,接近篮筐,然后进行更近距离的跳投。我们看到边际动态变化可能导致政策的剧烈变化,而从旧政策初始化的直接政策优化效率不高。我们将在整篇论文中通过理论和实验方法更系统地分析这个问题。

    The investigation implies that, instead of directly transferring policies, the swift transfer should be grounded in richer and more structured knowledge of the task, so as to facilitate the judgment of whether the agent is approaching the goal, which is critical for making the right decision. Enlightened by the above intuition, we propose a simple model-based and value-centric framework for continuous reinforcement learning.

    Our method contains two disentangled components: a dynamics approximator (model-based) and a state value function approximator (value-centric). The agent plans its action by solving an opti-mization problem using both approximators. As side products, this design learns a precise transition function, a precise reward function, and a precise value function on a subset of states. In particular, knowledge from historical explorations have been stored in the value function. In comparison, previous policy-centric methods can only produce a precise policy function, thus our framework allows to transfer much more information. By fine-tuning the whole framework in a new environment, our agent can adapt quickly with much lower sample complexity than state-of-the-art.

    We call our method value-centric because it strives to learn a precise value function. The general framework is inspired from the Value Iteration (VI) method, which is a classical approach for discrete decision making. However, since control problems have a continuous action space, we cannot directly enumerate over the action space as in the discrete setting but have to address the highly non-convex optimization problem. To make it tractable, we leverage differentiable function approximators like neural networks to learn the dynamics and the value function. By such an approximation, it is possible to solve the optimization problem with state-of-the-art optimizers effectively.

    We also theoretically analyze our value-centric framework and classical policy gradient algorithms from an optimization perspective. To build an intuitive understanding, we create a simple and illustrative example that clearly shows a local optimum in the policy space can prevent policy gradient methods from transferring successfully, but will not affect our value-centric framework.

    We summarize our contributions as below:
    We provide a theoretical justification to show the advantage of value-centric methods from an optimization perspective.

    We propose a novel value-centric framework for continuous reinforcement learning of comparable sample efficiency with popular deep RL methods in the training from scratch setting.

    Extensive experiments show the superiority of our method in a transfer learning setting
    调查意味着,快速转移不应直接转移政策,而应以更丰富,更有条理的任务知识为基础,以便判断代理人是否接近目标,这对做出正确决策至关重要。 。在上述直觉的启发下,我们提出了一个简单的基于模型和价值为中心的框架,用于持续强化学习。

    我们的方法包含两个解缠绕的组件:动态近似器(基于模型)和状态值函数逼近器(以值为中心)。代理通过使用两个逼近器解决优化问题来计划其行为。作为副产品,该设计在状态子集上学习精确的过渡函数,精确的奖励函数和精确的值函数。特别是,历史探索中的知识已存储在价值函数中。相比之下,以前以策略为中心的方法只能生成精确的策略函数,因此我们的框架允许传输更多信息。通过在新环境中微调整个框架,我们的代理可以快速适应,比最先进的样本复杂得多。

    我们称我们的方法以价值为中心,因为它努力学习精确的价值函数。总体框架的灵感来自于价值迭代(VI)方法,这是一种用于离散决策的经典方法。但是,由于控制问题具有连续的动作空间,我们不能像在离散设置中那样直接枚举动作空间,而是必须解决高度非凸优化问题。为了使其易于处理,我们利用像神经网络这样的可微函数逼近器来学习动力学和价值函数。通过这种近似,可以有效地利用现有技术的优化器来解决优化问题。

    我们还从理论上分析了我们以价值为中心的框架和经典的政策梯度算法。为了建立直观的理解,我们创建了一个简单的说明性示例,清楚地显示了策略空间中的局部最优可以阻止策略梯度方法成功传输,但不会影响我们以价值为中心的框架。

    我们总结了以下贡献:
    我们提供理论上的理由,从优化的角度展示以价值为中心的方法的优势。

    我们提出了一种新的以价值为中心的框架,用于在从头开始的训练中使用流行的深度RL方法进行可比较的样本效率的连续强化学习。

    大量实验表明我们的方法在转移学习环境中的优越性

    2 BACKGROUND

    2.1 MDPS AND NOTATION

    在这里插入图片描述

    Low-dimensional Assumption We focus on control problems which usually have well-engineered and low-dimensional state/action representations. Not rigorously, the assumption has two implica-tions:

    • Property 1: For a smooth function f(at) over A, we can find its approximate solution by sampling over the domain and optimizing locally;

    • Property 2: We can learn a network to approximate the transition and reward functions.

    Empirically, we find evidence of both properties as in our experiment section (Sec 6).
    低维度假设我们专注于通常具有精心设计和低维度状态/动作表示的控制问题。 不严格,这个假设有两个含义:

    • 属性1:对于A上的平滑函数f(at),我们可以通过对域进行采样并在本地优化来找到其近似解;

    • 属性2:我们可以学习网络来近似过渡和奖励功能。

    根据经验,我们在实验部分(第6节)中找到了两种性质的证据。

    2.2 TRANSFER LEARNING

    Many differently posed transfer learning problems have been discussed in the reinforcement learning literature (Taylor & Stone, 2009). In this work, we study the problem of the environment slightly changing while the task remains the same. For example, in the pendulum swing-up problem, once the agent learns how to swing up a 1kg pendulum, we expect that it could quickly adapt itself to swing up a 2kg pendulum leveraging the learned knowledge. We formulate our setting by modifying the aforementioned standard RL setting. We consider a pair of MDPs sharing state and action spaces. Their transition dynamics T and reward functions R are parameterized by a vector :
    在强化学习文献中已经讨论了许多不同的转移学习问题(Taylor&Stone,2009)。 在这项工作中,我们研究环境问题略有变化,同时任务保持不变。 例如,在钟摆摆动问题中,一旦经纪人学会如何摆动1千克钟摆,我们就可以期待它可以快速适应自身以利用学到的知识摆动2千克钟摆。 我们通过修改上述标准RL设置来制定我们的设置。 我们考虑一对共享状态和动作空间的MDP。 它们的过渡动力学T和奖励函数R由向量参数化:

    在这里插入图片描述

    3WHY TRANFERRING POLICY CAN BE DIFFICULT? A SIMPLE ILLUSTRATION

    In the RL community, most control tasks are solved by policy gradient-based methods. In this section, we illustrate the limitation of transferring policy by a simple example and compare it with a value-centric method.
    在RL社区中,大多数控制任务通过基于策略梯度的方法来解决。 在本节中,我们通过一个简单的例子来说明转移政策的局限性,并将其与以价值为中心的方法进行比较。

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    Now we show the different behaviors of the value-and policy-centric strategies in a transfer learning setting. For the source environment, f1 = 0.7 and f2 = 0.8. It is not hard to find that the optimal path is path1. Then we modify the transition rule of the environment by slightly varying f1 and f2. We set f1 = 0.8 and f2 = 0.7. While the variation of the environment is relatively small,the optimal policy for s0 is completely different and has changed to path2. The optimal state value function and policy are shown in Table 1 in the Appendix B.

    To compare policy- and value-centric strategies, we run two representative algorithms on this game – the Policy Gradient (PG) algorithm (Williams, 1992) (policy-centric) and the Value Iteration (VI) algorithm (Sutton et al., 1998) (value-centric). We assume the value-centric methods have access
    现在我们在转移学习环境中展示价值和政策中心策略的不同行为。 对于源环境,f1 = 0.7,f2 = 0.8。 发现最佳路径是path1并不难。 然后我们通过稍微改变f1和f2来修改环境的转换规则。 我们设置f1 = 0.8和f2 = 0.7。 虽然环境的变化相对较小,但s0的最优策略完全不同,并且已经变为path2。 最佳状态值函数和策略如附录B中的表1所示。

    为了比较政策和价值为中心的策略,我们在这个游戏上运行两个代表性的算法 - 政策梯度(PG)算法(Williams,1992)(以政策为中心)和价值迭代(VI)算法(Sutton等, 1998)(以价值为中心)。 我们假设以价值为中心的方法具有访问权限

    在这里插入图片描述

    4MODEL-BASED AND VALUE-CENTRIC (MVC) REINFORCEMENT LEARNING

    4.1 VALUE-CENTRIC METHOD IN TRANSFER LEARNING

    Our objective is to make the agent learn faster in a new environment after trained in a similar environment. From the above discussion, we know that instead of directly transferring policies, the swift transfer should be grounded in richer and more structured knowledge of the task. It is worth exploring transfer by value function since the value function contains more information than the policy alone. A straight-forward idea is to utilize the value/Q function from actor-critic algorithms such as DDPG to facilitate transfer learning. However, the value/Q function learned from the actor-critic algorithm is usually imprecise, and it does not capture so much knowledge in the original environment. To address this issue, we propose an algorithm to directly train a precise value function in the original environment. We call it a value-centric method. Then, we just need to fine-tune this value function to help the agent adapt to the new environment. In the following subsections, we explain how to train this precise value function from scratch.
    我们的目标是在经过类似环境培训后,让代理在新环境中学得更快。从上面的讨论中,我们知道,快速转移应该建立在更丰富,更有条理的任务知识之上,而不是直接转移政策。值得探索按值传递函数,因为值函数包含的信息多于单独的策略。一个直截了当的想法是利用演员评论算法(如DDPG)的值/ Q函数来促进转移学习。然而,从actor-critic算法中学习的值/ Q函数通常是不精确的,并且它在原始环境中没有捕获如此多的知识。为了解决这个问题,我们提出了一种算法来直接训练原始环境中的精确值函数。我们称之为以价值为中心的方法。然后,我们只需要微调这个值函数,以帮助代理适应新环境。在以下小节中,我们将解释如何从头开始训练这个精确的值函数。

    CONTINUOUS VALUE ITERATION

    To better explain our main algorithm, we first propose a Continuous Value Iteration algorithm, which is possible to make use of Property 1 in Sec 2.1 to build a value-centric method. Theorem 2 in the Appendix suggests it always converges.
    为了更好地解释我们的主算法,我们首先提出了一种连续值迭代算法,该算法可以利用第2.1节中的属性1来构建以价值为中心的方法。 附录中的定理2表明它总是收敛。

    在这里插入图片描述

    4.3 ALGORITHM

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    Due to the superior parallel computing ability of modern GPUs, the optimization with different initial seeds can be operated simultaneously so that additional time consumption is limited. For exploration purpose, we also add noise (e.g. Ornstein-Uhlenbeck process) to the optimal action. While it is possible to expand the r.h.s. to a multi-step planning, notoriously, a learned model is inclined to diverge in long-horizon predictions. Consequently, we only use the one-step version for policy search.

    To approximate the value function, we update the value approximator by the supervision of temporal-difference error (TD-error). Since updating the value function across the whole state space is unrealistic, we update the value approximator only by the data sampled from the environment in the
    由于现代GPU具有优越的并行计算能力,可以同时操作具有不同初始种子的优化,从而限制额外的时间消耗。 出于探索目的,我们还将噪声(例如Ornstein-Uhlenbeck过程)添加到最佳动作中。 虽然可以扩展r.h.s.s. 众所周知,对于多步计划,学习模型倾向于在长期预测中发散。 因此,我们仅使用一步版本进行策略搜索。

    为了近似值函数,我们通过监视时差误差(TD误差)来更新值近似值。 由于在整个状态空间中更新值函数是不现实的,因此我们仅通过从环境中采样的数据更新值近似值。
    在这里插入图片描述
    Online training makes the whole framework more light-weight while sacrificing the guarantee of convergence. One can improve the training paradigm with past experience from the replay buffer or advanced sampling skills on the state space, but we leave them as future work.

    Like DDPG, we employ a target network parameterized by to stabilize the training. To speed up computation, we also fork multiple agents to run in parallel and synchronize them by a global agent. Algotihm 1 recaptures the whole algorithm paradigm.
    在线培训使整个框架更轻量化,同时牺牲了融合的保证。 人们可以通过重置缓冲区的过去经验或州空间的高级抽样技能来改进训练范例,但我们将它们留作未来的工作。

    与DDPG一样,我们采用参数化的目标网络来稳定培训。 为了加快计算速度,我们还将多个代理程序分叉并行运行,并通过全局代理程序对它们进行同步。 Algotihm 1重新捕获了整个算法范例。

    5A THEORETICAL JUSTIFICATION FROM THE OPTIMIZATION PERSPECTIVE

    We will show the limitation of policy-centric methods and the nice properties of value-centric method. We narrow the analysis of policy-centric frameworks down to the landscape of J( ). To save space, we leave the theorems and detailed proofs in Appendix A. We explain the intuitions here:

    First, we show in Theorem 1 that, for an arbitrary MDP with a deterministic transition function, a local optimum of J( ) that traps gradient-based methods could exist under a weak condition. In fact, the local optimum issue is introduced by the parameterization of ’s output space, e.g., a Gaussian distribution. If we allow to be an arbitrary distribution, the local optimum will vanish (Proposition 1). The example in Sec 3 exactly shows a failure case of transferring policy due to a local optimum.

    Second, we show in Theorem 2 that, for the same type of MDPs, the Continuous Value Iteration algorithm leveraging Property 1 in Sec 2.1 can share the favorable converge property of classical value iteration. That is, the distance between a current value function and the optimal value function will be squeezed at linear rate, thus it always converges. In addition, Proposition 2 implies that a small perturbation to the environment is only likely to cause a marginal change to the optimal value function; therefore, the old value function would serve as a good initialization point.
    我们将展示以政策为中心的方法的局限性和以价值为中心的方法的优良特性。我们将以政策为中心的框架的分析缩小到J()的格局。为了节省空间,我们将定理和详细证明留在附录A中。我们在此解释直觉:

    首先,我们在定理1中表明,对于具有确定性转移函数的任意MDP,陷阱基于梯度的方法的局部最优J()可能存在于弱条件下。实际上,局部最优问题是通过输出空间的参数化引入的,例如高斯分布。如果我们允许任意分布,局部最优将消失(命题1)。第3节中的示例确切地显示了由于局部最优而转移策略的失败情况。

    其次,我们在定理2中表明,对于相同类型的MDP,利用2.1节中的属性1的连续值迭代算法可以共享经典值迭代的有利收敛性。也就是说,当前值函数和最佳值函数之间的距离将以线性速率被挤压,因此它总是收敛。此外,命题2意味着对环境的微小扰动只会导致最优值函数的边际变化;因此,旧的值函数将作为一个良好的初始化点。

    6 EXPERIMENTS

    We first compare our value-centric method against the policy gradient baselines in the training from scratch setting. We also show that our value-centric method beats baselines in the transfer learning setting. Finally, we conduct ablation study over method parameters and diagnose the components.
    我们首先将我们以价值为中心的方法与从头开始设置的培训中的政策梯度基线进行比较。 我们还表明,我们以价值为中心的方法在转移学习环境中胜过基线。 最后,我们对方法参数进行消融研究并诊断组件。

    6.1 SETUP

    We evaluate our algorithm and two prevalent continuous RL methods, Deep Deterministic Policy Gradient (DDPG) (Lillicrap et al., 2015) and Trust Region Policy Optimization (TRPO) (Schulman et al., 2015), on five control tasks in the OpenAI Gym (Brockman et al., 2016):HalfCheetah-v1,InvertedPendulum-v1, InvertedDoublePendulum-v1, Pendulum-v0, and Reacher-v1. For baselines, we use the code from OpenAI Baselines (Dhariwal et al., 2017) and fine-tuned their hyper-parameters as much as we can. More details can be found in the Appendix D.
    我们评估了我们的算法和两种流行的连续RL方法,深度确定性政策梯度(DDPG)(Lillicrap等,2015)和信任区域政策优化(TRPO)(Schulman等,2015),关于OpenAI中的五项控制任务 Gym(Brockman et al。,2016):HalfCheetah-v1,InvertedPendulum-v1,InvertedDoublePendulum-v1,Pendulum-v0和Reacher-v1。 对于基线,我们使用OpenAI Baselines的代码(Dhariwal等,2017),并尽可能多地微调其超参数。 更多细节可以在附录D中找到。

    6.2 MAIN RESULTS

    We compare the sample complexity and the performance of the three algorithms (MVC, DDPG, and TRPO) on the aforementioned five environments, for both the training from scratch setting and transfer learning setting. We also compare with PPO (Schulman et al., 2017) and SQL (Haarnoja et al., 2017) on HalfCheetah and show the results in Appendix F.

    Train from Scratch The reported results (Fig. 8(a)) show the mean and standard deviation of 3 runs with different random seeds. In four of the environments (InvertedPendulum-v1, HalfCheetah-v1, Pendulum-v0, Reacher-v1), our method achieves comparable performance as the better baseline. In InvertedDoublePendulum-v1, though there is a significant gap between MVC and TRPO, MVC performs at the same level with DDPG.

    Transfer across environments We demonstrate the superiority of our method when transferring across environments. For each of the above five environments, we change one or several physical properties, like the mass of pendulum, to create two new environments with novel dynamics. In one of the new environments, the change is relatively small (we call it ’Hard’ in the plot), while the other is more intensively perturbed (we call it ’Harder’ in the plot). We first train standard agents on the original environment. For fair comparison, we pick the agents that achieve comparable performance for all methods in the original environment. Please refer to Appendix D for the details of the modification and the agents. To avoid the possibility of under-exploration in the new environments, we reset the exploration noise of all the algorithms. We directly fine-tune all the agents with the same number of simulation steps. The results are shown in Fig. 8(b).

    On all the environments, we observed that TRPO has the worst overall transfer performance. DDPG and MVC have similar transferrability on simple tasks like Reacher-v1 and Pendulum-v0. However, on more complicated tasks like HalfCheetah-v1,the performance of DDPG is significantly worse than MVC. Further investigation shows that DDPG can actually learn a high-quality Q function for simple environments, which serves a similar role as our value function. However, on more challenging games such as HalfCheetah-v1 and InvertedDoublePendulum-v1, as a policy-centric algorithm, the learned Q function is far from the true one (Fig. 7 in Appendix E), thus the transfer is significantly slower. The success and failure of DDPG again shows the central role value plays in transfer learning.
    我们比较了上述五种环境下的三种算法(MVC,DDPG和TRPO)的样本复杂性和性能,从头开始设置训练和转移学习设置。我们还在HalfCheetah上与PPO(Schulman等,2017)和SQL(Haarnoja等,2017)进行比较,并在附录F中显示结果。

    从Scratch训练报告的结果(图8(a))显示了不同随机种子的3次运行的平均值和标准差。在四个环境中(InvertedPendulum-v1,HalfCheetah-v1,Pendulum-v0,Reacher-v1),我们的方法实现了与更好的基线相当的性能。在InvertedDoublePendulum-v1中,尽管MVC和TRPO之间存在显着差距,但MVC与DDPG在同一级别上执行。

    跨环境传输我们证明了在跨环境传输时我们的方法的优越性。对于上述五种环境中的每一种,我们都会改变一个或多个物理属性,如摆锤的质量,以创建两个具有新颖动态的新环境。在其中一个新环境中,变化相对较小(我们在图中称之为“硬”),而另一个则更加强烈地被扰动(我们在图中称之为“更难”)。我们首先在原始环境中培训标准代理。为了公平比较,我们选择在原始环境中为所有方法实现可比性能的代理。有关修改和代理的详细信息,请参阅附录D.为了避免在新环境中探索不足的可能性,我们重置了所有算法的探索噪声。我们使用相同数量的模拟步骤直接微调所有代理。结果如图8(b)所示。

    在所有环境中,我们观察到TRPO具有最差的整体传输性能。 DDPG和MVC在简单任务(如Reacher-v1和Pendulum-v0)上具有类似的可传递性。但是,对于像HalfCheetah-v1这样的更复杂的任务,DDPG的性能明显比MVC差。进一步的研究表明,DDPG实际上可以为简单的环境学习高质量的Q函数,它具有与我们的价值函数类似的作用。然而,对于更具挑战性的游戏,例如HalfCheetah-v1和InvertedDoublePendulum-v1,作为一种以策略为中心的算法,学习的Q函数远非真实的(附录E中的图7),因此传输速度明显变慢。 DDPG的成功和失败再次表明了转移学习中的核心价值。

    在这里插入图片描述

    Figure 3: The training curves of training from scratch and transfer learning of MVC, TRPO, and DDPG. Thick lines correspond to mean episode rewards, and shaded regions show standard deviations of 3 random seeds. Our method (MVC) achieves comparable performance with the baselines while significantly outperforms them on transfer learning.

    Note that, in HalfCheetah-v1-Harder, MVC achieves 3000 points in about 50k steps, while TRPO and DDPG only get around 1000 points after 200k steps.
    图3:从头开始训练和MVC,TRPO和DDPG的转学习的训练曲线。 粗线对应于平均情节奖励,阴影区域显示3个随机种子的标准偏差。 我们的方法(MVC)实现了与基线相当的性能,同时在转移学习方面明显优于它们。

    请注意,在HalfCheetah-v1-Harder中,MVC以大约50k步长达到3000点,而TRPO和DDPG仅在200k步后达到1000点。

    6.3 ABLATION STUDY AND DIAGNOSIS OF COMPONENTS

    在这里插入图片描述
    Validation of Property1 Empirically, we find evidence for Property 1 and 2. Take HalfCheetah-v1 for example. For Property 1, we compare the optimization result of gradient-based method against random sampling with 106 points. Figure on the left demonstrates that Adam achieves comparable results with random sampling while being tens of times faster on our computer (a 48-core Xeon CPU with 2 Titan XP GPUs).

    Validation for Property 2 Figure on the right shows that the loss functions for the transition network and reward network converge in less than 100k time steps, which means the transition network and reward network converges much faster than the value network (As shown in Fig. 8(a), the value network still does not converge after 1200k steps.). Therefore, selecting actions based on the learned transition network and reward network is trusty. We also observed that the learned transition and reward networks provide good start points for the training in the new environment.
    Property1的验证根据经验,我们找到属性1和2的证据。以HalfCheetah-v1为例。 对于属性1,我们将基于梯度的方法的优化结果与具有106个点的随机采样进行比较。 左图显示Adam在随机采样时获得了可比较的结果,而在我们的计算机上速度提高了数十倍(一个48核Xeon CPU和2个Titan XP GPU)。

    对属性2的验证图右侧显示转换网络和奖励网络的损失函数以不到100k的时间步长收敛,这意味着转换网络和奖励网络的收敛速度比价值网络快得多(如图8所示) (a),价值网络在1200k步之后仍然没有收敛。)。 因此,基于学习的转换网络和奖励网络选择动作是可信的。 我们还观察到,学习的过渡和奖励网络为新环境中的培训提供了良好的起点。
    加粗样式

    在这里插入图片描述

    7RELATED WORK

    Reinforcement Learning in Continuous Control Domain. Solving continuous control problems through reinforcement learning has been studied for decades (Sutton et al., 1998; Williams, 1992). Policy-based methods (Schulman et al., 2015; Mnih et al., 2016; Lillicrap et al., 2015) are more widely used. One exception is the NAF (Gu et al., 2016) method under the Q-learning framework which models the action space as a quadratic function.

    Value-based Reinforcement Learning. The most relevant work in literature are perhaps the very recent Value Iteration Network (VIN) and Value Prediction Network (VPN) (Tamar et al., 2016; Oh et al., 2017). Though demonstrated better environment generalizability, VIN is specifically designed and only evaluated on the 2D navigation problem. VPN learns a dynamics model together with a value function and makes plans based on Monte Carlo tree search. In contrast to our work, VPN neither considered the continuous control problem nor thoroughly investigated their algorithm under the transfer learning setting.

    Model-based Reinforcement Learning. For purposes such as increasing sample efficiency and designing smarter exploration strategies (e.g., curiosity-driven exploration), it can be beneficial to incorporate a learned dynamics model. Some very recent works have demonstrated the power of such model-based RL algorithms (Levine & Koltun, 2013; Nagabandi et al., 2017; Kurutach et al., 2018; Pathak et al., 2018; Feinberg et al., 2018; Pathak et al., 2017). However, to our knowledge, none of them has yet combined the value function with a learned dynamics model to solve continuous decision making problems.

    Transfer Learning in Deep Reinforcement Learning. In this work, we study knowledge transfer problem across different MDPs.(Kansky et al., 2017) proposed the SchemaNetwork which learns the knowledge of the Atari physics engine by playing a standard version of the BreakOut game. (Higgins et al., 2017) learns disentangled representations in the source domains to achieve zero-shot domain adaption in the new environments. Finally, a straight-forward strategy is to show the agent all possible environments (Yu et al., 2017; Tan et al., 2018; Tobin et al., 2017).
    连续控制领域的强化学习几十年来研究通过强化学习解决连续控制问题(Sutton等,1998; Williams,1992)。基于政策的方法(Schulman等,2015; Mnih等,2016; Lillicrap等,2015)被更广泛地使用。一个例外是Q-learning框架下的NAF(Gu et al。,2016)方法,该方法将动作空间建模为二次函数。

    基于价值的强化学习文献中最相关的工作可能是最新的价值迭代网络(VIN)和价值预测网络(VPN)(Tamar等,2016; Oh等,2017)。虽然展示了更好的环境普遍性,但VIN是专门设计的,仅针对2D导航问题进行评估。 VPN学习动态模型和值函数,并根据蒙特卡罗树搜索制定计划。与我们的工作相比,VPN既没有考虑连续控制问题,也没有在转移学习设置下彻底调查他们的算法。

    基于模型的强化学习为了提高样本效率和设计更智能的探索策略(例如,好奇心驱动的探索)等目的,结合学习动力学模型可能是有益的。一些最近的工作证明了这种基于模型的RL算法的能力(Levine&Koltun,2013; Nagabandi等,2017; Kurutach等,2018; Pathak等,2018; Feinberg等,2018; Pathak等,2017)。然而,据我们所知,他们都没有将价值函数与学习动力学模型相结合来解决持续的决策问题。

    深度强化学习中的转移学习在这项工作中,我们研究跨不同MDP的知识转移问题。(Kansky等,2017)提出了SchemaNetwork,它通过播放标准版本来学习Atari物理引擎的知识。 BreakOut游戏。 (Higgins等,2017)学习源域中的解开的表示,以在新环境中实现零射击域适应。最后,直接的策略是向代理显示所有可能的环境(Yu等人,2017; Tan等人,2018; Tobin等人,2017)。

    REFERENCES

    Mohammed Abbad and Jerzy A Filar. Perturbation and stability theory for markov control problems.

    IEEE Transactions on Automatic Control, 37(9):1415–1420, 1992.

    Konstantinos Bousmalis, Alex Irpan, Paul Wohlhart, Yunfei Bai, Matthew Kelcey, Mrinal Kalakrish-nan, Laura Downs, Julian Ibarz, Peter Pastor Sampedro, Kurt Konolige, et al. Using simulation and domain adaptation to improve efficiency of deep robotic grasping. arXiv: Learning, 2018.

    Greg Brockman, Vicki Cheung, Ludwig Pettersson, Jonas Schneider, John Schulman, Jie Tang, and Wojciech Zaremba. Openai gym, 2016.

    Prafulla Dhariwal, Christopher Hesse, Oleg Klimov, Alex Nichol, Matthias Plappert, Alec Radford, John Schulman, Szymon Sidor, Yuhuai Wu, and Peter Zhokhov. Openai baselines. https: //github.com/openai/baselines, 2017.

    Vladimir Feinberg, Alvin Wan, Ion Stoica, Michael I. Jordan, Joseph E. Gonzalez, and Sergey Levine. Model-based value estimation for efficient model-free reinforcement learning. arXiv: Learning, 2018.

    Shixiang Gu, Timothy P Lillicrap, Ilya Sutskever, and Sergey Levine. Continuous deep q-learning with model-based acceleration. international conference on machine learning, pp. 2829–2838, 2016.

    Tuomas Haarnoja, Haoran Tang, Pieter Abbeel, and Sergey Levine. Reinforcement learning with deep energy-based policies. In International Conference on Machine Learning, pp. 1352–1361, 2017.

    Irina Higgins, Arka Pal, Andrei A Rusu, Loic Matthey, Christopher P Burgess, Alexander Pritzel, Matthew M Botvinick, Charles Blundell, and Alexander Lerchner. Darla: Improving zero-shot transfer in reinforcement learning. international conference on machine learning, pp. 1480–1490, 2017.

    Ken Kansky, Tom Silver, David A Mely, Mohamed Eldawy, Miguel Lazarogredilla, Xinghua Lou, Nimrod Dorfman, Szymon Sidor, D Scott Phoenix, and Dileep George. Schema networks: Zero-shot transfer with a generative causal model of intuitive physics. international conference on machine learning, pp. 1809–1818, 2017.

    Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic optimization. international conference on learning representations, 2015.

    Thanard Kurutach, Ignasi Clavera, Yan Duan, Aviv Tamar, and Pieter Abbeel. Model-ensemble trust-region policy optimization. international conference on learning representations, 2018.

    Sergey Levine and Vladlen Koltun. Guided policy search. In International Conference on Machine Learning, pp. 1–9, 2013.

    Timothy P Lillicrap, Jonathan J Hunt, Alexander Pritzel, Nicolas Heess, Tom Erez, Yuval Tassa, David Silver, and Daan Wierstra. Continuous control with deep reinforcement learning. arXiv preprint arXiv:1509.02971, 2015.

    Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Andrei A Rusu, Joel Veness, Marc G Bellemare, Alex Graves, Martin A Riedmiller, Andreas K Fidjeland, Georg Ostrovski, et al. Human-level control through deep reinforcement learning. Nature, 518(7540):529–533, 2015.

    Volodymyr Mnih, Adria Puigdomenech Badia, Mehdi Mirza, Alex Graves, Timothy Lillicrap, Tim Harley, David Silver, and Koray Kavukcuoglu. Asynchronous methods for deep reinforcement learning. In International conference on machine learning, pp. 1928–1937, 2016.

    Anusha Nagabandi, Gregory Kahn, Ronald S Fearing, and Sergey Levine. Neural network dynamics for model-based deep reinforcement learning with model-free fine-tuning. arXiv: Learning, 2017.

    Junhyuk Oh, Satinder Singh, and Honglak Lee. Value prediction network. In Advances in Neural Information Processing Systems, pp. 6118–6128, 2017.

    Deepak Pathak, Pulkit Agrawal, Alexei A Efros, and Trevor Darrell. Curiosity-driven exploration by self-supervised prediction. international conference on machine learning, pp. 2778–2787, 2017.

    Deepak Pathak, Parsa Mahmoudieh, Michael Luo, Pulkit Agrawal, Dian Chen, Fred Shentu, Evan Shelhamer, Jitendra Malik, Alexei A Efros, and Trevor Darrell. Zero-shot visual imitation. international conference on learning representations, 2018.

    John Schulman, Sergey Levine, Pieter Abbeel, Michael Jordan, and Philipp Moritz. Trust region policy optimization. In International Conference on Machine Learning, pp. 1889–1897, 2015.

    John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, and Oleg Klimov. Proximal policy optimization algorithms. arXiv preprint arXiv:1707.06347, 2017.

    David Silver, Aja Huang, Chris J Maddison, Arthur Guez, Laurent Sifre, George Van Den Driessche, Julian Schrittwieser, Ioannis Antonoglou, Veda Panneershelvam, Marc Lanctot, et al. Mastering the game of go with deep neural networks and tree search. Nature, 529(7587):484–489, 2016.

    David Silver, Julian Schrittwieser, Karen Simonyan, Ioannis Antonoglou, Aja Huang, Arthur Guez, Thomas Hubert, Lucas Baker, Matthew Lai, Adrian Bolton, et al. Mastering the game of go without human knowledge. Nature, 550(7676):354–359, 2017.

    Richard S Sutton, Andrew G Barto, et al. Reinforcement learning: An introduction. MIT press, 1998.

    Aviv Tamar, Yi Wu, Garrett Thomas, Sergey Levine, and Pieter Abbeel. Value iteration networks. In Advances in Neural Information Processing Systems, pp. 2154–2162, 2016.

    Jie Tan, Tingnan Zhang, Erwin Coumans, Atil Iscen, Yunfei Bai, Danijar Hafner, Steven Bohez, and Vincent Vanhoucke. Sim-to-real: Learning agile locomotion for quadruped robots. robotics science and systems, 14, 2018.

    Matthew E. Taylor and Peter Stone. Transfer learning for reinforcement learning domains: A survey.

    Journal of Machine Learning Research, 10(10):1633–1685, 2009.

    Joshua Tobin, Rachel Fong, Alex Ray, Jonas Schneider, Wojciech Zaremba, and Pieter Abbeel.

    Domain randomization for transferring deep neural networks from simulation to the real world.

    intelligent robots and systems, pp. 23–30, 2017.

    Ronald J Williams. Simple statistical gradient-following algorithms for connectionist reinforcement learning. Machine learning, 8(3-4):229–256, 1992.

    Wenhao Yu, Jie Tan, C Karen Liu, and Greg Turk. Preparing for the unknown: Learning a universal policy with online system identification. robotics science and systems, 13, 2017.

    APPENDIX A PROOFS FOR THE THEOREMS

    For mathematical rigor, we suppose the state space and the action space are both continuous in this section.
    对于数学严谨性,我们假设状态空间和动作空间在本节中都是连续的。

    A.1 PROPOSITION 1 AND PROOF

    在这里插入图片描述

    PROPOSITION 2 AND PROOF

    在这里插入图片描述

    This bound is rather loose, and it can only be a partial explanation of the experimental results. The changes of environment in our experiments are much larger than a ’perturbation’.
    这种界限相当松散,只能是对实验结果的部分解释。 我们实验中环境的变化远大于“扰动”。

    A.3 THEOREM 1 AND PROOF

    在这里插入图片描述

    The proof is a trivial extension of conventional value iteration.

    在这里插入图片描述

    在这里插入图片描述

    Proof. We start the proof by showing the exact value of the bound B, then we demonstrate how we can deduce the conclusion from B. to simplify the proof, we use the following notations:
    证明。 我们通过显示绑定B的确切值来开始证明,然后我们演示如何从B.推断出结论以简化证明,我们使用以下符号:
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    APPENDIX B DETAILS OF ILLUSTRATIVE EXAMPLE

    We implement the MDP and the algorithms in MATLAB 2015b. For the policy gradient theorem, we use a variance-reduced version of the vanilla policy gradient:
    我们在MATLAB 2015b中实现了MDP和算法。 对于策略梯度定理,我们使用vanilla政策梯度的方差减少版本:
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    APPENDIX C IMPLEMENTATION DETAILS

    We use feed forward networks for all models and the activation function is ReLU. For transition network, reward network, and termination network, the networks have 2 hidden layers of size 512. For value network and target value network, the networks have 2 hidden layers of size 256 and 2 hidden layers of size 128. The weights of the networks are initialized by Xavier weight initializer. And the networks are all trained by Adam optimizer, the learning rates for transition network, reward network, termination network and value network are 1e-3, 1e-3, 1e-3, 1e-4, respectively.

    The transition network, reward network, and termination network are trained 2 times for every 40 steps. The training data is uniformly sampled from the replay buffer, and the batch size is 512. The value network is trained 2 times in each step with the current (s, r, s0) tuple. At each time the value network is trained, the target networks will be soft updated as follows,
    我们为所有模型使用前馈网络,激活功能是ReLU。 对于过渡网络,奖励网络和终端网络,网络有2个大小为512的隐藏层。对于价值网络和目标价值网络,网络有2个大小为256的隐藏层和2个大小为128的隐藏层。 网络由Xavier权重初始化器初始化。 并且网络都由Adam优化器训练,转换网络,奖励网络,终端网络和价值网络的学习率分别为1e-3,1e-3,1e-3,1e-4。

    过渡网络,奖励网络和终止网络每40步训练2次。 从重放缓冲区统一采样训练数据,批量大小为512.每个步骤使用当前(s,r,s0)元组训练值网络2次。 在每次训练价值网络时,目标网络将软更新如下,

    在这里插入图片描述
    We use Adam optimizer with the learning rate of 0.1. To avoid trapped by local maxima, we set 200 initial points for the gradient descent procedure. When training from scratch, the optimizer will be called k times, where the initial value of k is 0 and it is increased by 1 for every 150k steps. The reason we do not optimize too many steps at the beginning is the value network is not accurate at that time. But when transferring, we set a fixed k = 10 because we have a good initialization for value network. After we get the action, a noise will be added to the action in order to encourage exploration. The noise we used is Ornstein-Uhlenbeck process with = 0 and = 0:15. And the noise will be decayed with the progress of training.

    However, the above case is just for the tasks without true terminations. For the tasks with true terminations, i.e. the task will be terminated before reaching the time limit, the optimization needs to be re-writed as follows,
    我们使用Adam优化器,学习率为0.1。 为了避免陷入局部最大值,我们为梯度下降过程设置了200个初始点。 从头开始训练时,优化器将被调用k次,其中k的初始值为0,并且每150k步长增加1。 我们一开始没有优化太多步骤的原因是价值网络在那时并不准确。 但是在转移时,我们设置了固定的k = 10,因为我们对价值网络进行了很好的初始化。 在我们采取行动后,将在行动中添加噪音以鼓励探索。 我们使用的噪声是Ornstein-Uhlenbeck过程,其中= 0和= 0:15。 随着训练的进展,噪音将会衰减。

    但是,上述情况仅适用于没有真正终止的任务。 对于具有真正终止的任务,即任务将在达到时间限制之前终止,优化需要重新编写如下,
    在这里插入图片描述

    APPENDIX D EXPERIMENT DETAILS

    Our simulation environment is OpenAI gym 0.9.3.

    For transferring experiments, we change one or several physical properties in the environments. In one of the new environments,the change is relatively small (we call it ”Hard”), while the other is more intensively perturbed(we call it ”Harder”). We achieve it by directly modifying the codes or the XML files in the OpenAI gym library. The modifications are listed in the Table 2.
    我们的模拟环境是OpenAI gym 0.9.3。

    为了转移实验,我们在环境中更改一个或多个物理属性。 在其中一个新环境中,变化相对较小(我们称之为“硬”),而另一个则受到更强烈的干扰(我们称之为“更难”)。 我们通过直接修改OpenAI体育馆库中的代码或XML文件来实现它。 修改列于表2中。
    在这里插入图片描述

    In transferring experiments, we select the agents get similar scores in the original environment for fair comparison. Table 3 shows the scores of the agents we chose in different environments. To get these scores, we evaluate each agent 10 times and calculate the mean episode reward.
    在转移实验时,我们选择代理在原始环境中获得相似的分数以进行公平比较。 表3显示了我们在不同环境中选择的代理商的分数。 为了得到这些分数,我们评估每个代理10次并计算平均情节奖励。

    在这里插入图片描述

    在这里插入图片描述

    Figure 7: Density plot shows the estimated Q versus observed returns sampled from 5 test trajectories. for simple environments like Pendulum and Cartpole, the critic can predict the Q value quit accurate. However, in more complicated environment like Cheetah, the estimated Q are way more inaccurate. (This plot is from (Lillicrap et al., 2015))
    图7:密度图显示了从5个测试轨迹中采样的估计Q值与观察到的回报。 对于像Pendulum和Cartpole这样的简单环境,评论家可以预测Q值准确无误。 然而,在像猎豹这样的更复杂的环境中,估计的Q更加不准确。 (该图来自(Lillicrap等,2015))

    APPENDIX F SUPPLEMENTARY EXPERIMENT RESULTS

    We compare the sample complexity and the performance of the five algorithms (MVC, DDPG, TRPO, PPO, and SQL) on the HalfCheetah, for both the training from scratch setting and transfer learning setting.

    SQL is a continuous variant of Q-learning, which expresses the optimal policy via a Boltzmann distribution. PPO is developed from TRPO with several modifications. In the train from scratch setting, SQL shows the best sample efficiency (significantly better than other algorithms). This is probably because it improves exploration by incorporating an entropy term but all the other algorithms do not. However, in the transfer learning setting, the performance of MVC is nearly the same as SQL. As both are value-centric algorithms, we think the benefit of MVC comes from using an environment dynamics approximator. PPO shows better performance than TRPO (both in the train from scratch and the transfer learning), but still much worse than MVC.
    我们比较了HalfCheetah上的五种算法(MVC,DDPG,TRPO,PPO和SQL)的样本复杂性和性能,以便从头开始设置培训和转移学习设置。

    SQL是Q学习的连续变体,它通过Boltzmann分布表达最优策略。 PPO是从TRPO开发的,经过多次修改。 在从头开始设置的训练中,SQL显示了最佳的样本效率(明显优于其他算法)。 这可能是因为它通过合并熵项来改进探索,但所有其他算法都没有。 但是,在传输学习设置中,MVC的性能几乎与SQL相同。 由于两者都是以价值为中心的算法,我们认为MVC的好处来自于使用环境动态近似器。 PPO表现出比TRPO更好的性能(从头开始和转移学习),但仍然比MVC差。

    在这里插入图片描述

    展开全文
  • 策略疑难解答

    千次阅读 2020-01-24 08:38:09
    当然,当您可以从上到设置GPO和策略设置并将它们反映在用户的桌面上时,这是件令人愉快的事情。但是,当您希望组策略时,在实现该愿望之前会进行特定的过程。确实,上章讨论了何时应用组策略。现在,您了解了...
  • Windows Server 2019 Sql Server 2019安装部署
  • SAP 物料分类账1 到底有哪些差异2.一些主要的记账2.1 初始...否则要分评估级别的2.1.4 收货差异PRD+空2.3 成本中心消耗2.3.1 发货到成本中心消耗MB1A2.3.2 借方GBB+VBR,消耗性记账都用这,包括生产订单发料消耗2.3.2
  • 今天教大家利用ip安全策略关闭危险端口,比如:135,23,3389,445,139等…… 这些端口都给黑客入侵提供了便利。为了更好的防护我们的电脑,我们该把这些端口进行关闭! 好了,进入正题,打开开始菜单-所有程序-...
  • SAP 批次管理(批次策略

    千次阅读 2020-04-21 17:55:11
    1、分配IM查找程序(过程)/激活检查,查找程序(移动类型 201 --> ME0001查找程序) 2、根据查找程序ME0001确定策略类型ME01 3、根据策略类型ME01获取对应配置 4、依据ME01...
  • 策略提示IPSEC服务没有启动

    千次阅读 2018-04-13 10:04:52
    配置完主策略之后提示ipsec服务没有启动执行services.msc去启动ipsec服务报错“错误0x80090337:由于要求的程序不可用,加密系统或校验和函数无效”经过百度找到下面的方法打开注册表,HKEY_LOCAL_MACHINE\SYSTEM\...
  • 文章目录前言、ACON激活函数论文简介ACON familyYOLOv5中应用二、注意力机制CBAM论文简介CBAM注意力机制YOLOv5中应用CA论文简介Coordinate AttentionYOLOv5中应用三、BiFPN特征融合论文简介双向加权特征金字塔...
  • 模型优化策略

    千次阅读 2018-08-17 09:58:12
    模型优化策略 参考:http://nsaphra.github.io/post/model-scheduling 模型可以通过在训练过程中修改它们的超参数来逐步迭代。这在迁移学习设置中是最常见的,其中,我们为一个新的领域或任务寻求适应现有模型...
  • 文章目录第步ACL配置原则第二步第三步第四步第五步第六步配置完成后,需要流量进行激活隧道的建立查看相关信息 网段地址: R1 G0/0/0 192.168.1.100 24 G0/0/1 200.1.13.1 24 R3 G0/0/0 200.1.13.2 24 G0/0/1 200....
  • yolo5的改进策略

    万次阅读 多人点赞 2020-10-26 14:18:29
    YOLO V5的作者并没有发表论文,对yolo5分析只能从源码进行分析...从以下几方面说明yolo5的改进之处: Data Augmentation Auto Learning Bounding Box Anchors Backbone Neck Head Network Architecture Activ
  • AIX中配置防火墙策略

    千次阅读 2019-09-07 09:37:23
    在通常情况,AIX 服务器都放置于企业内部环境中,可以受到企业级防火墙的保护。为了方便使用,在 AIX 系统中许多常用服务端口缺省是开放的,但这同时也带来一定的安全隐患,给企业内部一些别有用心的人提供了...
  • 内容PCC规则定义PCC规则运行PCC规则模板PCC规则定义**参考文档: **3gpp ts 23.203-be0 条款6.3策略与计费控制规则(PCC Rule),即系列相关信息与系列相关操作的集合,通常包含3大类信息:服务数据流检查信息策略...
  • 如果这进程执行结束了把资源归还给系统,就可能使得某些正在等待的进程被激活,并且顺利的执行下去。相应的,这些被激活的进程执行完之后又会归还一些资源,这样可能激活另外一些阻塞的进程... 如果按上述过程,...
  • IP安全策略一个给予通讯分析的策略,它将通讯内容与设定好的规则进行比较以判断通讯是否与预期相吻合,然后决定是允许还是拒绝通讯的传输,它弥补了传统TCP/IP设计上的’随意信任’重大安全漏洞,可以实现更仔细更...
  • 在目前的技术水平,可以很容易地找到不同的控制策略和方法:开发种使外骨骼提供有效和自然援助的辅助策略仍然是一个挑战。因此,本文旨在对主动运动增强矫形器和外骨骼提供的 辅助策略 进行系统的综述。根据Web ...
  • 文章目录前言第回合、知识点:cookie(21/09/06)二、知识点:节流和防抖(21/09/07)三、知识点:var和let以及const(21/09/08)四:知识点:深拷贝和浅拷贝(21/09/09)五、知识点:作用域和作用域联(21/09/...
  • pytorch--从零实现一个BERT模型

    千次阅读 多人点赞 2021-12-07 17:01:40
    本文主要从代码的角度步步来讲解一下BERT模型是如何实现的。(后附完整代码) 关于BERT的理论解析现在随便搜就可以找到很多,在这里就不在赘述。有需要补一下理论知识的,可以看一下下面的文章: 图解BERT模型:从...
  • NFT基础设施提供商Project Galaxy支持以太坊侧链xDai NFT基础设施提供商Project Galaxy宣布支持以太坊侧链xDai,为开发...昨晚23时发布策略,随后小时以太坊报价上冲1820,激活部分空挂单,随后便开始了震荡下行,预
  • Cylinder3D:一个有效的三维框架用于驾驶场景激光雷达语义分割 论文 Cylinder3D: An Effective 3D Framework for Driving-scene LiDAR Semantic Segmentation CVPR2021 摘要:激光雷达的大规模行车场景语义分割方法...
  • Vivado使用技巧(23):综合运行与OOC

    万次阅读 2018-08-25 19:52:39
    一个“运行(run)”是指定义和配置设计在综合过程中的各方面,包括:使用 的Xilinx器件、应用的约束集、启动单个或多综合的选项、控制综合引擎结果的选项。点击Flow菜单中的Create Funs,或在Design Runs窗口中:...
  • 它的框架设计核心思想是,让每一个jar包可以相对之间独立的运行,并且由zk辅助进行集群中任务的调度。  接下来,咱们就一步一步的来看niubi-job整个的框架设计与实现。   框架设计概述    讲解之前,让...
  • 、SVM简介 SVM法即支持向量机(Support Vector Machine,SVM)法,由Vapnik等人于1995年提出,具有相对优良的性能指标。该方法是建立在统计学理论基础上的机器学习方法。通过学习算法,SVM可以自动寻找那些对分类...
  • 在数字中国指数增速排名前10的城市中,出现了一个直辖市和六省会城市,显示中心城市在数字化发展的进程中仍然保持着强劲活力。 C)四大板块的关联度与结构性特征 数字产业、数字文化、数字生活、数字政务四大分指数...
  • 精进:如何成为一个很厉害的人--作者:采铜

    万次阅读 多人点赞 2019-12-04 15:12:19
    精进:如何成为一个很厉害的人 作者:采铜 文章目录精进:如何成为一个很厉害的人序 用更勇敢的方式去生活01 时间之尺 我们应该怎样对待时间活在“全部的现在” 从当下出发,联结过去与未来那么,一个人应该怎样对待...
  • 1. 如何预防死锁? 首先需要将死锁发生的是必要条件讲出来: 互斥条件 同一时间只能有一个...一个进程不能获得所需要的全部资源时便处于等待状态,等待期间他占有的资源将被隐式的释放重新加入到系统的资源列表中
  • 尤其是在今年年初,受新冠肺炎疫情的冲击,学生返校进行线下授课收到严重阻碍,由此,网络线上平台由此成为“互联网+教育”成果的重要发展领地,如何根据教育平台把握用户信息,掌握用户课程偏好并提供精准的远程...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,610
精华内容 9,844
关键字:

下一个激活策略23