精华内容
下载资源
问答
  • 这篇论文是上个月刚出的关于剪枝方面的论文。作者:首尔大学团队 论文下载地址:https://arxiv.org/abs/2002.06048 Layer-wise剪枝+AutoLR:深度网络微调中的层级剪枝和层级学习率的自动调整。 该方法可以逐层剪枝和...
  • 在这篇文章中,我们将通过学习 element-wise 的操作来扩展我们的知识,而不仅仅是 reshape 操作。 Reshaping operations Element-wise operations Reduction operations Access operations 深度学习中Element-...

    转载:https://blog.csdn.net/flyfor2013/article/details/105760457

    欢迎回到这个关于神经网络编程的系列。在这篇文章中,我们将通过学习 element-wise 的操作来扩展我们的知识,而不仅仅是 reshape 操作。

    Reshaping operations

    Element-wise operations

    Reduction operations

    Access operations

    深度学习中Element-Wise 操作

    一、Element-Wise的含义

    element-wise 是神经网络编程中非常常见的张量操作。让我们首先定义一下 element-wise 操作。

    element-wise 是两个张量之间的操作,它在相应张量内的对应的元素进行操作。

    An element-wise operation operates on corresponding elements between tensors.

    如果两个元素在张量内占据相同位置,则称这两个元素是对应的。该位置由用于定位每个元素的索引确定。

    假设我们有以下两个张量:

    > t1 = torch.tensor([
        [1,2],
        [3,4]
    ], dtype=torch.float32)
     
     
    > t2 = torch.tensor([
        [9,8],
        [7,6]
    ], dtype=torch.float32)
    这两个张量均为2 x 2形状的2阶张量。

    这意味着我们有两个轴,每个轴的长度均为两个元素。第一轴的元素是数组,第二轴的元素是数字。

    # Example of the first axis
    > print(t1[0])
    tensor([1., 2.])
     
     
    # Example of the second axis
    > print(t1[0][0])
    tensor(1.)
    这是我们现在在本系列中经常看到的那种东西。好吧,让我们以此为基础。

    我们知道,如果两个元素在张量内占据相同位置,则认为这两个元素是对应的,并且该位置由用于定位每个元素的索引确定。让我们看一个对应元素的例子。

    > t1[0][0]
    tensor(1.)
     
     
    > t2[0][0]
    tensor(9.)
    这使我们看到 t1 中1的对应元素是 t2 中9的元素。

    对应关系由索引定义。这很重要,因为它揭示了element-wise 操作的重要特征。我们可以推断出张量必须具有相同数量的元素才能执行 element-wise 的操作。

    我们将继续进行此声明,使其更具限制性。两个张量必须具有相同的形状,以便对其执行 element-wise 操作。

    二、加法也是一种Element-Wise操作

    让我们看看第一个 element-wise  操作,加法。别担心。它会变得更有趣。

    > t1 + t2
    tensor([[10., 10.],
            [10., 10.]])
    这让我们看到张量之间的加法是一个element-wise 操作。在相应位置的每一对元素被加在一起,产生一个新的相同形状的张量。

    加法是一种element-wise 运算,事实上,所有的算术运算,加、减、乘、除都是element-wise 运算。

    算术运算是基于 Element-Wise的运算

    我们通常看到的张量运算是使用标量值的算术运算。我们有两种方法可以做到这一点:

    (1) 使用这些符号运算:

    > print(t + 2)
    tensor([[3., 4.],
            [5., 6.]])
     
    > print(t - 2)
    tensor([[-1.,  0.],
            [ 1.,  2.]])
     
    > print(t * 2)
    tensor([[2., 4.],
            [6., 8.]])
     
    > print(t / 2)
    tensor([[0.5000, 1.0000],
            [1.5000, 2.0000]])
    或者等价地,(2) 这些张量内置的方法:

    > print(t1.add(2))
    tensor([[3., 4.],
            [5., 6.]])
     
     
    > print(t1.sub(2))
    tensor([[-1.,  0.],
            [ 1.,  2.]])
     
     
    > print(t1.mul(2))
    tensor([[2., 4.],
            [6., 8.]])
     
     
    > print(t1.div(2))
    tensor([[0.5000, 1.0000],
            [1.5000, 2.0000]])
    这两个选项的作用是相同的。我们可以看到,在这两种情况下,标量值 2 通过相应的算术运算应用于每个元素。

    这里好像有点不对劲。这些例子打破了我们建立的规则,即element-wise 作操作相同形状的张量。

    标量的值是0阶张量,这意味着它们没有形状,而我们的张量t1是一个形状为2×2的2阶张量。

    这是怎么回事呢?让我们分解一下。

    可能想到的第一个解释是,这个运算只是使用单个标量值,对张量中的每个元素进行运算。

    这种逻辑是可行的。然而,这有点误导人,而且在更一般的情况下,我们注意到它使用标量。

    为了从不同的角度考虑这些操作,我们需要引入tensor broadcasting 或 broadcasting的概念。

    一、Broadcasting Tensors

    broadcasting 描述了在element-wise 操作期间如何处理不同形状的张量。

    Broadcasting is the concept whose implementation allows us to add scalars to higher dimensional tensors.

    我们考虑一下t1 + 2的运算。在这里,将标量值张量变换成t1的形状,然后进行element-wise 运算。

    我们可以看到什么是broadcasted(广播后)标量值看起来像使用broadcast_to()  Numpy函数:

    > np.broadcast_to(2, t1.shape)
    array([[2, 2],
            [2, 2]])
    这意味着标量值被转换成一个2阶张量,就像t1一样,就像那样,形状匹配和element-wise 方面的规则有了相同的形状。当然,这一切都是秘密进行的。

    可以这么说,这段代码美如画

    > t1 + 2
    tensor([[3., 4.],
            [5., 6.]])
        实际上的操作

    > t1 + torch.tensor(
        np.broadcast_to(2, t1.shape)
        ,dtype=torch.float32
    )
    tensor([[3., 4.],
            [5., 6.]])
    在这一点上,您可能会认为这似乎有些令人费解,所以让我们看一个更棘手的示例,以解决这一问题。假设我们有以下两个张量。

    二、广播的一个更棘手的例子

    让我们看一个更复杂的例子来理解这一点。假设我们有下面这个张量。

    t1 = torch.tensor([
        [1,1],
        [1,1]
    ], dtype=torch.float32)
     
     
    t2 = torch.tensor([2,4], dtype=torch.float32)
    这个element-wise 加法运算的结果是什么?对element-wise 运算的相同形状规则是否还可行?

    # t1 + t2 ???????
     
     
    > t1.shape
    torch.Size([2, 2])
     
     
    > t2.shape
    torch.Size([2])
    尽管这两个张量有不同的形状,但element-wise操作是可能的,而 broadcasting 使得运算成为可能。低阶张量t2将通过broadcasting 进行变换,以匹配高阶张量t1的形状,element-wise 操作将照常进行。

    broadcasting 的概念是理解这个运算将如何进行的关键。与前面一样,我们可以使用broadcast_to() numpy函数检查broadcast 转换。

    > np.broadcast_to(t2.numpy(), t1.shape)
    array([[2., 4.],
            [2., 4.]], dtype=float32)
     
    > t1 + t2
    tensor([[3., 5.],
            [3., 5.]])
    broadcasting之后,这两个张量之间的加法运算是同一形状张量之间的element-wise 运算。

    广播是一个比基本element-wise 操作更先进的话题,所以如果需要更长的时间来熟悉这个概念,也不要担心。

    理解element-wise 的操作和相同的形状要求为广播的概念和为什么使用广播提供了基础。

    我们什么时候真正使用广播?在预处理数据时,特别是在归一化化过程中,我们经常需要使用广播。

    在TensorFlow.js系列中有一篇文章更详细地介绍了广播。这里有一个实际的例子,并讨论了确定一个特定的张量如何广播的算法,所以检查一下,对广播进行更深入的讨论。

    不要担心不知道TensorFlow.js。这不是必须的,我强烈推荐广播的内容。

    比较操作也是Element-Wise的运算

    比较操作也是element-wise 运算。

    对于给定的两个张量之间的比较运算,返回一个形状相同的新张量,每个元素包含一个torch.bool值为True或Faslse。

    一、PyTorch版本1.2.0中的更改

    返回的比较操作从torch.uint8 变成 torch.bool.

    https://github.com/pytorch/pytorch/pull/21113

    1.1版本:

    > torch.tensor([1, 2, 3]) < torch.tensor([3, 1, 2])
    tensor([1, 0, 0], dtype=torch.uint8)
    1.2版本:

    > torch.tensor([1, 2, 3]) < torch.tensor([3, 1, 2])
    tensor([True, False, False])
    相关链接:

    Release Notes: https://github.com/pytorch/pytorch/releases/tag/v1.2.0

    Pull Request: https://github.com/pytorch/pytorch/pull/21113

    下面的示例显示了PyTorch版本1.2.0及更高版本的输出。

    二、元素比较运算的例子

    假设有下面的张量

    > t = torch.tensor([
        [0,5,0],
        [6,0,7],
        [0,8,0]
    ], dtype=torch.float32)
    让我们来看看这些比较运算

    > t.eq(0)
    tensor([[True, False, True],
            [False, True, False],
            [True, False, True]])
     
     
     
     
    > t.ge(0)
    tensor([[True, True, True],
            [True, True, True],
            [True, True, True]])
     
     
     
     
    > t.gt(0)
    tensor([[False, True, False],
            [True, False, True],
            [False, True, False]])
     
     
     
     
    > t.lt(0)
    tensor([[False, False, False],
            [False, False, False],
            [False, False, False]])
     
     
    > t.le(7)
    tensor([[True, True, True],
            [True, True, True],
            [True, False, True]])
    从广播的角度来思考这些操作,我们可以看到最后一个操作,t.le(7),实际上是这样的:

    > t <= torch.tensor(
        np.broadcast_to(7, t.shape)
        ,dtype=torch.float32
    )
     
     
    tensor([[True, True, True],
            [True, True, True],
            [True, False, True]])
    等同于:

    > t <= torch.tensor([
        [7,7,7],
        [7,7,7],
        [7,7,7]
    ], dtype=torch.float32)
     
     
    tensor([[True, True, True],
            [True, True, True],
            [True, False, True]])
    三、使用函数的元素操作

    对于函数的元素操作,我们可以假设这个函数适用于张量的每个元素。

    以下是一些例子:

    > t.abs() 
    tensor([[0., 5., 0.],
            [6., 0., 7.],
            [0., 8., 0.]])
     
     
     
     
    > t.sqrt()
    tensor([[0.0000, 2.2361, 0.0000],
            [2.4495, 0.0000, 2.6458],
            [0.0000, 2.8284, 0.0000]])
     
     
    > t.neg()
    tensor([[-0., -5., -0.],
            [-6., -0., -7.],
            [-0., -8., -0.]])
     
     
    > t.neg().abs()
    tensor([[0., 5., 0.],
            [6., 0., 7.],
            [0., 8., 0.]])
    一些术语
    有一些其他的方法来引用element-wise的运算,所以我只想提一下,所有这些都意味着同一件事:

    Element-wise

    Component-wise

    Point-wise

    如果你在其他地方遇到这些术语,请记住这一点。


    总结
    现在,我们应该有一个很好的理解element-wise 的操作,以及如何将它们应用到神经网络和深度学习的张量操作。在下一篇文章中,我们将讨论最后两类张量运算:

    Reshaping operations

    Element-wise operations

    Reduction operations

    Access operations
     

    展开全文
  • to() Numpy函数: > np.broadcast_to(2, t1.shape) array([[2, 2], [2, 2]]) 这意味着标量值被转换成一个2阶张量,就像t1一样,就像那样,形状匹配和element-wise 方面的规则有了相同的形状。当然,这一切都是秘密...

    点击上方“AI算法与图像处理”,选择加"星标"或“置顶”

    重磅干货,第一时间送达

    文 |AI_study

    欢迎回到这个关于神经网络编程的系列。在这篇文章中,我们将通过学习 element-wise 的操作来扩展我们的知识,而不仅仅是 reshape 操作。

    • Reshaping operations

    • Element-wise operations

    • Reduction operations

    • Access operations


    深度学习中Element-Wise 操作

    一、Element-Wise的含义

    element-wise 是神经网络编程中非常常见的张量操作。让我们首先定义一下 element-wise 操作。

    element-wise 是两个张量之间的操作,它在相应张量内的对应的元素进行操作。

    An element-wise operation operates on corresponding elements between tensors.

    如果两个元素在张量内占据相同位置,则称这两个元素是对应的。该位置由用于定位每个元素的索引确定。

    假设我们有以下两个张量:

    > t1 = torch.tensor([
        [1,2],
        [3,4]
    ], dtype=torch.float32)
    
    
    > t2 = torch.tensor([
        [9,8],
        [7,6]
    ], dtype=torch.float32)
    

    这两个张量均为2 x 2形状的2阶张量。

    这意味着我们有两个轴,每个轴的长度均为两个元素。第一轴的元素是数组,第二轴的元素是数字。

    # Example of the first axis
    > print(t1[0])
    tensor([1., 2.])
    
    
    # Example of the second axis
    > print(t1[0][0])
    tensor(1.)
    

    这是我们现在在本系列中经常看到的那种东西。好吧,让我们以此为基础。

    我们知道,如果两个元素在张量内占据相同位置,则认为这两个元素是对应的,并且该位置由用于定位每个元素的索引确定。让我们看一个对应元素的例子。

    > t1[0][0]
    tensor(1.)
    
    
    > t2[0][0]
    tensor(9.)
    

    这使我们看到 t1 中1的对应元素是 t2 中9的元素。

    对应关系由索引定义。这很重要,因为它揭示了element-wise 操作的重要特征。我们可以推断出张量必须具有相同数量的元素才能执行 element-wise 的操作。

    我们将继续进行此声明,使其更具限制性。两个张量必须具有相同的形状,以便对其执行 element-wise 操作。

    二、加法也是一种Element-Wise操作


    让我们看看第一个 element-wise  操作,加法。别担心。它会变得更有趣。

    > t1 + t2
    tensor([[10., 10.],
            [10., 10.]])
    

    这让我们看到张量之间的加法是一个element-wise 操作。在相应位置的每一对元素被加在一起,产生一个新的相同形状的张量。

    加法是一种element-wise 运算,事实上,所有的算术运算,加、减、乘、除都是element-wise 运算。


    算术运算是基于 Element-Wise的运算

    我们通常看到的张量运算是使用标量值的算术运算。我们有两种方法可以做到这一点:

    (1) 使用这些符号运算:

    > print(t + 2)
    tensor([[3., 4.],
            [5., 6.]])
    
    
    > print(t - 2)
    tensor([[-1.,  0.],
            [ 1.,  2.]])
    
    
    > print(t * 2)
    tensor([[2., 4.],
            [6., 8.]])
    
    
    > print(t / 2)
    tensor([[0.5000, 1.0000],
            [1.5000, 2.0000]])
    

    或者等价地,(2) 这些张量内置的方法:

    > print(t1.add(2))
    tensor([[3., 4.],
            [5., 6.]])
    
    
    > print(t1.sub(2))
    tensor([[-1.,  0.],
            [ 1.,  2.]])
    
    
    > print(t1.mul(2))
    tensor([[2., 4.],
            [6., 8.]])
    
    
    > print(t1.div(2))
    tensor([[0.5000, 1.0000],
            [1.5000, 2.0000]])
    

    这两个选项的作用是相同的。我们可以看到,在这两种情况下,标量值 2 通过相应的算术运算应用于每个元素。

    这里好像有点不对劲。这些例子打破了我们建立的规则,即element-wise 作操作相同形状的张量。

    标量的值是0阶张量,这意味着它们没有形状,而我们的张量t1是一个形状为2×2的2阶张量。

    这是怎么回事呢?让我们分解一下。

    可能想到的第一个解释是,这个运算只是使用单个标量值,对张量中的每个元素进行运算。

    这种逻辑是可行的。然而,这有点误导人,而且在更一般的情况下,我们注意到它使用标量。

    为了从不同的角度考虑这些操作,我们需要引入tensor broadcastingbroadcasting的概念。

    一、Broadcasting Tensors

    broadcasting 描述了在element-wise 操作期间如何处理不同形状的张量。

    Broadcasting is the concept whose implementation allows us to add scalars to higher dimensional tensors.

    我们考虑一下t1 + 2的运算。在这里,将标量值张量变换成t1的形状,然后进行element-wise 运算。

    我们可以看到什么是broadcasted(广播后)标量值看起来像使用broadcast_to()  Numpy函数:

    > np.broadcast_to(2, t1.shape)
    array([[2, 2],
            [2, 2]])
    

    这意味着标量值被转换成一个2阶张量,就像t1一样,就像那样,形状匹配和element-wise 方面的规则有了相同的形状。当然,这一切都是秘密进行的。

    可以这么说,这段代码美如画

    > t1 + 2
    tensor([[3., 4.],
            [5., 6.]])
    

        实际上的操作

    > t1 + torch.tensor(
        np.broadcast_to(2, t1.shape)
        ,dtype=torch.float32
    )
    tensor([[3., 4.],
            [5., 6.]])
    

    在这一点上,您可能会认为这似乎有些令人费解,所以让我们看一个更棘手的示例,以解决这一问题。假设我们有以下两个张量。

    二、广播的一个更棘手的例子

    让我们看一个更复杂的例子来理解这一点。假设我们有下面这个张量。

    t1 = torch.tensor([
        [1,1],
        [1,1]
    ], dtype=torch.float32)
    
    
    t2 = torch.tensor([2,4], dtype=torch.float32)
    

    这个element-wise 加法运算的结果是什么?对element-wise 运算的相同形状规则是否还可行?

    # t1 + t2 ???????
    
    
    > t1.shape
    torch.Size([2, 2])
    
    
    > t2.shape
    torch.Size([2])
    

    尽管这两个张量有不同的形状,但element-wise操作是可能的,而 broadcasting 使得运算成为可能。低阶张量t2将通过broadcasting 进行变换,以匹配高阶张量t1的形状,element-wise 操作将照常进行。

    broadcasting 的概念是理解这个运算将如何进行的关键。与前面一样,我们可以使用broadcast_to() numpy函数检查broadcast 转换。

    > np.broadcast_to(t2.numpy(), t1.shape)
    array([[2., 4.],
            [2., 4.]], dtype=float32)
    
    
    > t1 + t2
    tensor([[3., 5.],
            [3., 5.]])
    

    broadcasting之后,这两个张量之间的加法运算是同一形状张量之间的element-wise 运算。

    广播是一个比基本element-wise 操作更先进的话题,所以如果需要更长的时间来熟悉这个概念,也不要担心。

    理解element-wise 的操作和相同的形状要求为广播的概念和为什么使用广播提供了基础。

    我们什么时候真正使用广播?在预处理数据时,特别是在归一化化过程中,我们经常需要使用广播。

    在TensorFlow.js系列中有一篇文章更详细地介绍了广播。这里有一个实际的例子,并讨论了确定一个特定的张量如何广播的算法,所以检查一下,对广播进行更深入的讨论。

    不要担心不知道TensorFlow.js。这不是必须的,我强烈推荐广播的内容。


    比较操作也是Element-Wise的运算

    比较操作也是element-wise 运算。

    对于给定的两个张量之间的比较运算,返回一个形状相同的新张量,每个元素包含一个torch.bool值为True或Faslse。

    一、PyTorch版本1.2.0中的更改

    返回的比较操作从torch.uint8 变成 torch.bool.

    https://github.com/pytorch/pytorch/pull/21113

    1.1版本:

    > torch.tensor([1, 2, 3]) < torch.tensor([3, 1, 2])
    tensor([1, 0, 0], dtype=torch.uint8)
    

    1.2版本:

    > torch.tensor([1, 2, 3]) < torch.tensor([3, 1, 2])
    tensor([True, False, False])
    

    相关链接:

    • Release Notes: https://github.com/pytorch/pytorch/releases/tag/v1.2.0

    • Pull Request: https://github.com/pytorch/pytorch/pull/21113

    下面的示例显示了PyTorch版本1.2.0及更高版本的输出。

    二、元素比较运算的例子

    假设有下面的张量

    > t = torch.tensor([
        [0,5,0],
        [6,0,7],
        [0,8,0]
    ], dtype=torch.float32)
    

    让我们来看看这些比较运算

    > t.eq(0)
    tensor([[True, False, True],
            [False, True, False],
            [True, False, True]])
    
    
    
    
    > t.ge(0)
    tensor([[True, True, True],
            [True, True, True],
            [True, True, True]])
    
    
    
    
    > t.gt(0)
    tensor([[False, True, False],
            [True, False, True],
            [False, True, False]])
    
    
    
    
    > t.lt(0)
    tensor([[False, False, False],
            [False, False, False],
            [False, False, False]])
    
    
    > t.le(7)
    tensor([[True, True, True],
            [True, True, True],
            [True, False, True]])
    

    从广播的角度来思考这些操作,我们可以看到最后一个操作,t.le(7),实际上是这样的:

    > t <= torch.tensor(
        np.broadcast_to(7, t.shape)
        ,dtype=torch.float32
    )
    
    
    tensor([[True, True, True],
            [True, True, True],
            [True, False, True]])
    

    等同于:

    > t <= torch.tensor([
        [7,7,7],
        [7,7,7],
        [7,7,7]
    ], dtype=torch.float32)
    
    
    tensor([[True, True, True],
            [True, True, True],
            [True, False, True]])
    

    三、使用函数的元素操作

    对于函数的元素操作,我们可以假设这个函数适用于张量的每个元素。

    以下是一些例子:

    > t.abs() 
    tensor([[0., 5., 0.],
            [6., 0., 7.],
            [0., 8., 0.]])
    
    
    
    
    > t.sqrt()
    tensor([[0.0000, 2.2361, 0.0000],
            [2.4495, 0.0000, 2.6458],
            [0.0000, 2.8284, 0.0000]])
    
    
    > t.neg()
    tensor([[-0., -5., -0.],
            [-6., -0., -7.],
            [-0., -8., -0.]])
    
    
    > t.neg().abs()
    tensor([[0., 5., 0.],
            [6., 0., 7.],
            [0., 8., 0.]])
    

    一些术语

    有一些其他的方法来引用element-wise的运算,所以我只想提一下,所有这些都意味着同一件事:

    • Element-wise

    • Component-wise

    • Point-wise

    如果你在其他地方遇到这些术语,请记住这一点。


    总结

    现在,我们应该有一个很好的理解element-wise 的操作,以及如何将它们应用到神经网络和深度学习的张量操作。在下一篇文章中,我们将讨论最后两类张量运算:

    • Reshaping operations

    • Element-wise operations

    • Reduction operations

    • Access operations

    文章中内容都是经过仔细研究的,本人水平有限,翻译无法做到完美,但是真的是费了很大功夫,希望小伙伴能动动你性感的小手,分享朋友圈或点个“在看”,支持一下我 ^_^

    英文原文链接是:

    https://deeplizard.com/learn/video/fCVuiW9AFzY

    加群交流

    欢迎小伙伴加群交流,目前已有交流群的方向包括:AI学习交流群,目标检测,秋招互助,资料下载等等;加群可扫描并回复感兴趣方向即可(注明:地区+学校/企业+研究方向+昵称)

     我的生活不能没有你! ????

    展开全文
  • 原文作者:Binh-Son Hua、Minh-Khoi Tran、Sai-Kit Yeung。 ...github项目地址:...我们的全卷积网络设计实现起来惊人地简单,在语义分割和目标识别任务方面都可以提供具有竞争力的准确性。
  • 机器学习的 ranking 技术——learning2rank,包括 pointwise、pairwise、listwise 三大类型。     【Ref-1】给出的: &lt;Point wise ranking 类似于回归&gt; Point wise ranking is analogous to ...

     机器学习的 ranking 技术——learning2rank,包括 pointwise、pairwise、listwise 三大类型。

     

     

    【Ref-1】给出的:
    <Point wise ranking 类似于回归>
    Point wise ranking is analogous to regression. Each point has an associated rank score, and you want to predict that rank score. So your labeled data set will have a feature vector and associated rank score given a query
    IE: {d1, r1} {d2, r2} {d3, r3} {d4, r4}
    where r1 > r2 > r3 >r4
     
    <Pairwise ranking 类似于分类>
    Pairwise ranking is analogous to classification. Each data point is associated with another data point, and the goal is to learn a classifier which will predict which of the two is "more" relevant to a given query.
    IE: {d1 > d2} {d2 > d3} {d3 > d4}

     

      1、Pointwise Approach

      1.1 特点

      Pointwise 类方法,其 L2R 框架具有以下特征:

    • 输入空间中样本是单个 doc(和对应 query)构成的特征向量;
    • 输出空间中样本是单个 doc(和对应 query)的相关度;
    • 假设空间中样本是打分函数;
    • 损失函数评估单个 doc 的预测得分和真实得分之间差异。

      这里讨论下,关于人工标注标签怎么转换到 pointwise 类方法的输出空间:

    1. 如果标注直接是相关度 s_j,则 doc x_j 的真实标签定义为 y_j=s_j
    2. 如果标注是 pairwise preference s_{u,v},则 doc x_j 的真实标签可以利用该 doc 击败了其他 docs 的频次
    3. 如果标注是整体排序 π,则 doc x_j 的真实标签可以利用映射函数,如将 doc 的排序位置序号当作真实标签

      1.2  根据使用的 ML 方法不同,pointwise 类可以进一步分成三类:基于回归的算法、基于分类的算法,基于有序回归的算法。

      (1)基于回归的算法

        此时,输出空间包含的是实值相关度得分。采用 ML 中传统的回归方法即可。

      (2)基于分类的算法

        此时,输出空间包含的是无序类别。对于二分类,SVM、LR 等均可;对于多分类,提升树等均可。

      (3)基于有序回归的算法

        此时,输出空间包含的是有序类别。通常是找到一个打分函数,然后用一系列阈值对得分进行分割,得到有序类别。采用 PRanking、基于 margin 的方法都可以。

      1.3  缺陷  

        回顾概述中提到的评估指标应该基于 query 和 position,

    • ranking 追求的是排序结果,并不要求精确打分,只要有相对打分即可。
    • pointwise 类方法并没有考虑同一个 query 对应的 docs 间的内部依赖性。一方面,导致输入空间内的样本不是 IID 的,违反了 ML 的基本假设,另一方面,没有充分利用这种样本间的结构性。其次,当不同 query 对应不同数量的 docs 时,整体 loss 将会被对应 docs 数量大的 query 组所支配,前面说过应该每组 query 都是等价的。
    • 损失函数也没有 model 到预测排序中的位置信息。因此,损失函数可能无意的过多强调那些不重要的 docs,即那些排序在后面对用户体验影响小的 doc。

      1.4  改进

        如在 loss 中引入基于 query 的正则化因子的 RankCosine 方法。

      

      2、Pairwise Approach

        2.1 特点

      Pairwise 类方法,其 L2R 框架具有以下特征:

    • 输入空间中样本是(同一 query 对应的)两个 doc(和对应 query)构成的两个特征向量;
    • 输出空间中样本是 pairwise preference;
    • 假设空间中样本是二变量函数;
    • 损失函数评估 doc pair 的预测 preference 和真实 preference 之间差异。

      这里讨论下,关于人工标注标签怎么转换到 pairwise 类方法的输出空间:

    1. 如果标注直接是相关度 s_j,则 doc pair (x_u,x_v) 的真实标签定义为 y_{u,v}=2*I_{s_u>s_v}-1
    2. 如果标注是 pairwise preference s_{u,v},则 doc pair (x_u,x_v) 的真实标签定义为y_{u,v}=s_{u,v}
    3. 如果标注是整体排序 π,则 doc pair (x_u,x_v) 的真实标签定义为y_{u,v}=2*I_{π_u,π_v}-1

      2.2  基于二分类的算法  

      Pairwise 类方法基本就是使用二分类算法即可。

      经典的算法有 基于 NN 的 SortNet,基于 NN 的 RankNet,基于 fidelity loss 的 FRank,基于 AdaBoost 的 RankBoost,基于 SVM 的 RankingSVM,基于提升树的 GBRank。

      2.3  缺陷  

      虽然 pairwise 类相较 pointwise 类 model 到一些 doc pair 间的相对顺序信息,但还是存在不少问题,回顾概述中提到的评估指标应该基于 query 和 position,
    • 如果人工标注给定的是第一种和第三种,即已包含多有序类别,那么转化成 pairwise preference 时必定会损失掉一些更细粒度的相关度标注信息。
    • doc pair 的数量将是 doc 数量的二次,从而 pointwise 类方法就存在的 query 间 doc 数量的不平衡性将在 pairwise 类方法中进一步放大。
    • pairwise 类方法相对 pointwise 类方法对噪声标注更敏感,即一个错误标注会引起多个 doc pair 标注错误。
    • pairwise 类方法仅考虑了 doc pair 的相对位置,损失函数还是没有 model 到预测排序中的位置信息。
    • pairwise 类方法也没有考虑同一个 query 对应的 doc pair 间的内部依赖性,即输入空间内的样本并不是 IID 的,违反了 ML 的基本假设,并且也没有充分利用这种样本间的结构性。

      2.4  改进

       pairwise 类方法也有一些尝试,去一定程度解决上述缺陷,比如:

    • Multiple hyperplane ranker,主要针对前述第一个缺陷
    • magnitude-preserving ranking,主要针对前述第一个缺陷
    • IRSVM,主要针对前述第二个缺陷
    • 采用 Sigmoid 进行改进的 pairwise 方法,主要针对前述第三个缺陷
    • P-norm push,主要针对前述第四个缺陷
    • Ordered weighted average ranking,主要针对前述第四个缺陷
    • LambdaRank,主要针对前述第四个缺陷
    • Sparse ranker,主要针对前述第四个缺陷

     

       3、Listwise Approach

      3.1 特点  

      Listwise 类方法,其 L2R 框架具有以下特征:

    • 输入空间中样本是(同一 query 对应的)所有 doc(与对应的 query)构成的多个特征向量(列表);
    • 输出空间中样本是这些 doc(和对应 query)的相关度排序列表或者排列;
    • 假设空间中样本是多变量函数,对于 docs 得到其排列,实践中,通常是一个打分函数,根据打分函数对所有 docs 的打分进行排序得到 docs 相关度的排列;
    • 损失函数分成两类,一类是直接和评价指标相关的,还有一类不是直接相关的。具体后面介绍。

      这里讨论下,关于人工标注标签怎么转换到 listwise 类方法的输出空间:

    1. 如果标注直接是相关度 s_j,则 doc set 的真实标签可以利用相关度 s_j 进行比较构造出排列
    2. 如果标注是 pairwise preference s_{u,v},则 doc set 的真实标签也可以利用所有 s_{u,v} 进行比较构造出排列
    3. 如果标注是整体排序 π,则 doc set 则可以直接得到真实标签

     

      3.2  根据损失函数构造方式的不同,listwise 类可以分成两类直接基于评价指标的算法,间接基于评价指标的算法。

       (1)直接基于评价指标的算法

      直接取优化 ranking 的评价指标,也算是 listwise 中最直观的方法。但这并不简单,因为前面说过评价指标都是离散不可微的,具体处理方式有这么几种:

    • 优化基于评价指标的 ranking error 的连续可微的近似,这种方法就可以直接应用已有的优化方法,如SoftRank,ApproximateRank,SmoothRank
    • 优化基于评价指标的 ranking error 的连续可微的上界,如 SVM-MAP,SVM-NDCG,PermuRank
    • 使用可以优化非平滑目标函数的优化技术,如 AdaRank,RankGP

      上述方法的优化目标都是直接和 ranking 的评价指标有关。现在来考虑一个概念,informativeness。通常认为一个更有信息量的指标,可以产生更有效的排序模型。而多层评价指标(NDCG)相较二元评价(AP)指标通常更富信息量。因此,有时虽然使用信息量更少的指标来评估模型,但仍然可以使用更富信息量的指标来作为 loss 进行模型训练。

         (2)非直接基于评价指标的算法

      这里,不再使用和评价指标相关的 loss 来优化模型,而是设计能衡量模型输出与真实排列之间差异的 loss,如此获得的模型在评价指标上也能获得不错的性能。 
      经典的如 ,ListNet,ListMLE,StructRank,BoltzRank。

     

      3.3  缺陷  

    listwise 类相较 pointwise、pairwise 对 ranking 的 model 更自然,解决了 ranking 应该基于 query 和 position 问题。

    listwise 类存在的主要缺陷是:一些 ranking 算法需要基于排列来计算 loss,从而使得训练复杂度较高,如 ListNet和 BoltzRank。此外,位置信息并没有在 loss 中得到充分利用,可以考虑在 ListNet 和 ListMLE 的 loss 中引入位置折扣因子。

      3.4  改进

       pairwise 类方法也有一些尝试,去一定程度解决上述缺陷,比如:

    • Multiple hyperplane ranker,主要针对前述第一个缺陷
    • magnitude-preserving ranking,主要针对前述第一个缺陷
    • IRSVM,主要针对前述第二个缺陷
    • 采用 Sigmoid 进行改进的 pairwise 方法,主要针对前述第三个缺陷
    • P-norm push,主要针对前述第四个缺陷
    • Ordered weighted average ranking,主要针对前述第四个缺陷
    • LambdaRank,主要针对前述第四个缺陷
    • Sparse ranker,主要针对前述第四个缺陷

     

    以上,这三大类方法主要区别在于损失函数。不同的损失函数决定了不同的模型学习过程和输入输出空间。

     

     

    rating数据集:
    :所以关于这个问题,是要使用topN=1的对吗?并把指标改为 AUC和 NDCG对吗?
    ——是这样,这个是一个rating数据集。
    如果是按照pairwise ranking的正确率,应该是我们的oPR和oMRR,PR和MAP都是没有用的。
    如果不按照pairwise,(按照listwise),就是AUC和NDCG,所以我让你算那个。
    当然还有就是按照数值,(按照pointwise),RMSE,不过我们的没法计算RMSE。
    :啊这个“不按照pairwise”,没太明白,还是按照原来的思路,用的 winner 和 loser 比较对呀。尤其在这个rating数据集,是每个比较对当成一个session,这点还是不变的吧??
    ——这不就是pairwise吗?
    rating是可以按照每个用户得到一个排序的,这是listwise,也就是算出NDCG,AUC的指标。
    还可以按照pointwise,每个分数预测的怎么样,就是RMSE。

     

     

     

     

    【Reference】
    展开全文
  • 人工智能时代,所需要了解人工智能的基本常识

    万次阅读 多人点赞 2018-12-10 22:49:44
    反而是神经网络、遗传算法等科技得到了新的关注,这一方面是因为这些技术避免了专家系统的若干限制,另一方面是因为新算法让它们运行起来更加高效。  神经网络的设计受到了大脑结构的启发。遗传算法的机制是,...

      国内对于人工智能的讨论大多是不成体系的碎片式,很难从中深入了解人工智能的发展脉络和技术体系,也很难有实际借鉴意义。人工智能的历史、核心技术和应用情况进行了详细说明,尤其是其中重要的认知技术。这份报告将有助于我们对人工智能和认知技术进行深入了解,也有助于各行业的公司考量人工智能应用的实际价值。

      一、概述

      近几年各界对人工智能的兴趣激增,自2011年以来,开发与人工智能相关的产品和技术并使之商业化的公司已获得超过总计20亿美元的风险投资,而科技巨头更是投资数十亿美元收购那些人工智能初创公司。相关报道铺天盖地,而巨额投资、计算机导致失业等问题也开始浮现,计算机比人更加聪明并有可能威胁到人类生存这类论断更是被媒体四处引用并引发广泛关注。

      IBM承诺拨出10亿美元来使他们的认知计算平台Watson商业化。

      谷歌在最近几年里的投资主要集中在人工智能领域,比如收购了8个机器人公司和1个机器学习公司。

      Facebook聘用了人工智能学界泰斗YannLeCun来创建自己的人工智能实验室,期望在该领域获得重大突破。

      牛津大学的研究人员发表了一篇报告表明,美国大约47%的工作因为机器认知技术自动化而变得岌岌可危。

      纽约时报畅销书《TheSecondMachineAge》论断,数字科技和人工智能带来巨大积极改变的时代已经到来,但是随之而来的也有引发大量失业等负面效应。

      硅谷创业家ElonMusk则通过不断投资的方式来保持对人工智能的关注。他甚至认为人工智能的危险性超过核武器。

      著名理论物理学家StephenHawking认为,如果成功创造出人工智能则意味着人类历史的终结,“除非我们知道如何规避风险。”

      即便有如此多炒作,但人工智能领域却也不乏显著的商业行为,这些活动已经或者即将对各个行业和组织产生影响。商业领袖需要透彻理解人工智能的含义以及发展趋势。

      二、人工智能与认知科技

      揭秘人工智能的首要步骤就是定义专业术语,勾勒历史,同时描述基础性的核心技术。

      1、人工智能的定义

      人工智能领域苦于存在多种概念和定义,有的太过有的则不够。作为该领域创始人之一的NilsNilsson先生写到:“人工智能缺乏通用的定义。”一本如今已经修订三版的权威性人工智能教科书给出了八项定义,但书中并没有透露其作者究竟倾向于哪种定义。对于我们来说,一种实用的定义即为——人工智能是对计算机系统如何能够履行那些只有依靠人类智慧才能完成的任务的理论研究。例如,视觉感知、语音识别、在不确定条件下做出决策、学习、还有语言翻译等。比起研究人类如何进行思维活动,从人类能够完成的任务角度对人工智能进行定义,而非人类如何思考,在当今时代能够让我们绕开神经机制层面对智慧进行确切定义从而直接探讨它的实际应用。值得一提的是,随着计算机为解决新任务挑战而升级换代并推而广之,人们对那些所谓需要依靠人类智慧才能解决的任务的定义门槛也越来越高。所以,人工智能的定义随着时间而演变,这一现象称之为“人工智能效应”,概括起来就是“人工智能就是要实现所有目前还无法不借助人类智慧才能实现的任务的集合。”

      2、人工智能的历史

      人工智能并不是一个新名词。实际上,这个领域在20世纪50年代就已经开始启动,这段探索的历史被称为“喧嚣与渴望、挫折与失望交替出现的时代”——最近给出的一个较为恰当的评价。

      20世纪50年代明确了人工智能要模拟人类智慧这一大胆目标,从此研究人员开展了一系列贯穿20世纪60年代并延续到70年代的研究项目,这些项目表明,计算机能够完成一系列所本只属于人类能力范畴之内的任务,例如证明定理、求解微积分、通过规划来响应命令、履行物理动作,甚至是模拟心理学家、谱曲这样的活动。

      但是,过分简单的算法、匮乏的难以应对不确定环境(这种情形在生活中无处不在)的理论,以及计算能力的限制严重阻碍了我们使用人工智能来解决更加困难和多样的问题。伴随着对缺乏继续努力的失望,人工智能于20世纪70年代中期逐渐淡出公众视野。

      20世纪80年代早期,日本发起了一个项目,旨在开发一种在人工智能领域处于领先的计算机结构。西方开始担心会在这个领域输给日本,这种焦虑促使他们决定重新开始对人工智能的投资。20世纪80年代已经出现了人工智能技术产品的商业供应商,其中一些已经上市,例如Intellicorp、Symbolics、和Teknowledge。

      20世纪80年代末,几乎一半的“财富500强”都在开发或使用“专家系统”,这是一项通过对人类专家的问题求解能力进行建模,来模拟人类专家解决该领域问题的人工智能技术。

      对于专家系统潜力的过高希望彻底掩盖了它本身的局限性,包括明显缺乏常识、难以捕捉专家的隐性知识、建造和维护大型系统这项工作的复杂性和成本,当这一点被越来越多的人所认识到时,人工智能研究再一次脱离轨道。

      20世纪90年代在人工智能领域的技术成果始终处于低潮,成果寥寥。反而是神经网络、遗传算法等科技得到了新的关注,这一方面是因为这些技术避免了专家系统的若干限制,另一方面是因为新算法让它们运行起来更加高效。

      神经网络的设计受到了大脑结构的启发。遗传算法的机制是,首先迭代生成备选解决方案,然后剔除最差方案,最后通过引入随机变量来产生新的解决方案,从而“进化”出解决问题的最佳方案。

      3、人工智能进步的催化剂

      截止到21世纪前10年的后期,出现了一系列复兴人工智能研究进程的要素,尤其是一些核心技术。下面将对这些重要的因素和技术进行详细说明。

      1)摩尔定律

      在价格、体积不变的条件下,计算机的计算能力可以不断增长。这就是被人们所熟知的摩尔定律,它以Intel共同创办人GordonMoore命名。GordonMoore从各种形式的计算中获利,包括人工智能研究人员使用的计算类型。数年以前,先进的系统设计只能在理论上成立但无法实现,因为它所需要的计算机资源过于昂贵或者计算机无法胜任。今天,我们已经拥有了实现这些设计所需要的计算资源。举个梦幻般的例子,现在最新一代微处理器的性能是1971年第一代单片机的400万倍。

      2)大数据

      得益于互联网、社交媒体、移动设备和廉价的传感器,这个世界产生的数据量急剧增加。随着对这些数据的价值的不断认识,用来管理和分析数据的新技术也得到了发展。大数据是人工智能发展的助推剂,这是因为有些人工智能技术使用统计模型来进行数据的概率推算,比如图像、文本或者语音,通过把这些模型暴露在数据的海洋中,使它们得到不断优化,或者称之为“训练”——现在这样的条件随处可得。

      3)互联网和云计算

      和大数据现象紧密相关,互联网和云计算可以被认为是人工智能基石有两个原因,第一,它们可以让所有联网的计算机设备都能获得海量数据。这些数据是人们推进人工智能研发所需要的,因此它可以促进人工智能的发展。第二,它们为人们提供了一种可行的合作方式——有时显式有时隐式——来帮助人工智能系统进行训练。比如,有些研究人员使用类似MechanicalTurk这样基于云计算的众包服务来雇佣成千上万的人来描绘数字图像。这就使得图像识别算法可以从这些描绘中进行学习。谷歌翻译通过分析用户的反馈以及使用者的无偿贡献来提高它自动翻译的质量。

      4)新算法

      算法是解决一个设计程序或完成任务的路径方法。最近几年,新算法的发展极大提高了机器学习的能力,这些算法本身很重要,同时也是其他技术的推动者,比如计算机视觉(这项科技将会在后文描述)。机器学习算法目前被开源使用,这种情形将促成更大进步,因为在开源环境下开发人员可以补足和增强彼此的工作。

      4、认知技术

      我们将区分人工智能领域和由此延伸的各项技术。大众媒体将人工智能刻画为跟人一样聪明的或比人更聪明的计算机的来临。而各项技术则在以往只有人能做到的特定任务上面表现得越来越好。我们称这些技术为认知技术(下图),认知技术是人工智能领域的产物,它们能完成以往只有人能够完成的任务。而它们正是商业和公共部门的领导者应该关注的。下面我们将介绍几个最重要的认知技术,它们正被广泛采纳并进展迅速,也获得大量投资。

      一文了解人工智能的基本常识

      1)计算机视觉

      是指计算机从图像中识别出物体、场景和活动的能力。计算机视觉技术运用由图像处理操作及其他技术所组成的序列来将图像分析任务分解为便于管理的小块任务。比如,一些技术能够从图像中检测到物体的边缘及纹理。分类技术可被用作确定识别到的特征是否能够代表系统已知的一类物体。

      计算机视觉有着广泛应用。其中包括,医疗成像分析被用来提高疾病的预测、诊断和治疗;人脸识别被Facebook用来自动识别照片里的人物;在安防及监控领域被用来指认嫌疑人;在购物方面,消费者现在可以用智能手机拍摄下产品以获得更多购买选择。

      机器视觉作为一个相关学科,泛指在工业自动化领域的视觉应用。在这些应用里,计算机在高度受限的工厂环境里识别诸如生产零件一类的物体,因此相对于寻求在非受限环境里操作的计算机视觉来说目标更为简单。计算机视觉是一个正在进行中的研究,而机器视觉则是“已经解决的问题”,是系统工程方面的课题而非研究层面的课题。因为应用范围的持续扩大,计算机视觉领域的初创公司自2011年起已经吸引了数亿美元的风投资本。

      2)机器学习

      指的是计算机系统无需遵照显式的程序指令而只是依靠暴露在数据中来提升自身性能的能力。其核心在于,机器学习是从数据中自动发现模式,模式一旦被发现便可用于做预测。比如,给予机器学习系统一个关于交易时间、商家、地点、价格及交易是否正当等信用卡交易信息的数据库,系统就会学习到可用来预测信用卡欺诈的模式。处理的交易数据越多,预测就会越好。

      机器学习的应用范围非常广泛,针对那些产生庞大数据的活动,它几乎拥有改进一切性能的潜力。除了欺诈甄别之外,这些活动还包括销售预测、库存管理、石油和天然气勘探、以及公共卫生。机器学习技术在其他的认知技术领域也扮演着重要角色,比如计算机视觉,它能在海量图像中通过不断训练和改进视觉模型来提高其识别对象的能力。现如今,机器学习已经成为认知技术中最炙手可热的研究领域之一,在2011-2014年中这段时间内就已吸引了近十亿美元的风险投资。谷歌也在2014年斥资4亿美金收购Deepmind这家研究机器学习技术的公司。

      3)自然语言处理

      是指计算机拥有的人类般文本处理的能力,比如,从文本中提取意义,甚至从那些可读的、风格自然、语法正确的文本中自主解读出含义。一个自然语言处理系统并不了解人类处理文本的方式,但是它却可以用非常复杂与成熟的手段巧妙处理文本,例如自动识别一份文档中所有被提及的人与地点;识别文档的核心议题;或者在一堆仅人类可读的合同中,将各种条款与条件提取出来并制作成表。以上这些任务通过传统的文本处理软件根本不可能完成,后者仅能针对简单的文本匹配与模式进行操作。请思考一个老生常谈的例子,它可以体现自然语言处理面临的一个挑战。在句子“光阴似箭(Timeflieslikeanarrow)”中每一个单词的意义看起来都很清晰,直到系统遇到这样的句子“果蝇喜欢香蕉(Fruitflieslikeabanana)”,用“水果(fruit)”替代了“时间(time)”,并用“香蕉(banana)”替代“箭(arrow)”,就改变了“飞逝/飞着的(like)”与“像/喜欢(like)”这两个单词的意思。

      自然语言处理,像计算机视觉技术一样,将各种有助于实现目标的多种技术进行了融合。建立语言模型来预测语言表达的概率分布,举例来说,就是某一串给定字符或单词表达某一特定语义的最大可能性。选定的特征可以和文中的某些元素结合来识别一段文字,通过识别这些元素可以把某类文字同其他文字区别开来,比如垃圾邮件同正常邮件。以机器学习为驱动的分类方法将成为筛选的标准,用来决定一封邮件是否属于垃圾邮件。

      因为语境对于理解“timeflies(时光飞逝)”和“fruitflies(果蝇)”的区别是如此重要,所以自然语言处理技术的实际应用领域相对较窄,这些领域包括分析顾客对某项特定产品和服务的反馈、自动发现民事诉讼或政府调查中的某些含义、以及自动书写诸如企业营收和体育运动的公式化范文等。

      4)机器人技术

      将机器视觉、自动规划等认知技术整合至极小却高性能的传感器、致动器、以及设计巧妙的硬件中,这就催生了新一代的机器人,它有能力与人类一起工作,能在各种未知环境中灵活处理不同的任务。例如无人机,还有可以在车间为人类分担工作的“cobots”,还包括那些从玩具到家务助手的消费类产品。

      5)语音识别技术

      主要是关注自动且准确的转录人类的语音。该技术必须面对一些与自然语言处理类似的问题,在不同口音的处理、背景噪音、区分同音异形异义词(“buy”和“by”听起来是一样的)方面存在一些困难,同时还需要具有跟上正常语速的工作速度。语音识别系统使用一些与自然语言处理系统相同的技术,再辅以其他技术,比如描述声音和其出现在特定序列和语言中概率的声学模型等。语音识别的主要应用包括医疗听写、语音书写、电脑系统声控、电话客服等。比如Domino’sPizza最近推出了一个允许用户通过语音下单的移动APP。

      上面提到的认知技术进步飞快并吸引了大量投资,其他相对成熟的认知技术仍然是企业软件系统的重要组成部分。这些日渐成熟的认知技术包括决策最优化——自动完成对复杂决策或者在资源有限的前提下做出最佳权衡;规划和调度——使设计一系列行动流程来满足目标和观察约束;规则导向系统——为专家系统提供基础的技术,使用知识和规则的数据库来自动完成从信息中进行推论的处理过程。

      三、认知技术的广泛使用

      各种经济部门已经把认知技术运用到了多种商业职能中。

      1)银行业

      自动欺诈探测系统使用机器学习可以识别出预示着欺诈性付款行动的行为模式;借助语音识别技术能够自动完成电话客服;声音识别可以核实来电者的身份

      2)医疗健康领域

      美国有一半的医院采用自动语音识别来帮助医生自动完成医嘱抄录,而且使用率还在迅速增长;机器视觉系统自动完成乳房X光检查和其他医学影响的分析;IBM的Watson借助自然语言处理技术来阅读和理解大量医学文献,通过假设自动生成来完成自动诊断,借助机器学习可以提高准确率。

      3)生命科学领域

      机器学习系统被用来预测生物数据和化合物活动的因果关系,从而帮助制药公司识别出最有前景的药物。

      4)媒体与娱乐行业

      许多公司正在使用数据分析和自然语言生成技术,自动起草基于数据的的公文材料,比如公司营收状况、体育赛事综述等。

      5)石油与天然气

      厂商将机器学习广泛运用在矿藏资源定位、钻井设备故障诊断等众多方面。

      6)公共部门

      出于监控、合规和欺诈检测等特定目的,公共部门也已经开始使用认知技术。比如,乔治亚州正在通过众包的形式来进行财政披露和竞选捐助表格的数字化,在这个过程中他们就采用了一套自动手写识别系统。

      7)零售商

      零售商利用机器学习来自动发现有吸引力的交叉销售定价和有效的促销活动。

      8)科技公司

      它们正利用机器视觉、机器学习等认知技术来改进产品或者开发全新产品,比如Roomba机器人吸尘器,Nest智能恒温器。

      上述例子表明,认识技术的潜在商业收益远大于自动化带来的成本节约,这主要体现在:

      更快的行动与决策(比如,自动欺诈检测,计划和调度)

      更好的结果(比如,医学诊断、石油探测、需求预测)

      更高的效率(亦即,更好的利用高技能人才和昂贵设备)

      更低的成本(比如,自动电话客服减少了劳动成本)

      更大的规模(亦即,开展人力无法执行的大规模任务)

      产品与服务创新(从增加新功能到创造新产品)

      四、认知技术影响力与日俱增的原因

      在未来五年,认知技术在商业领域的影响力将显著增长。原因有二,首先,近些年来,技术性能有了实质进步,并处于持续研发状态。其次,数亿美元已经投入到技术商业化中,许多公司正致力于为各商业部门的广泛需求提供定制化开发和打包方案,以使这些技术更易购买和配置。虽然并非所有的技术提供商都能幸存,但他们的努力将共同推动市场前进。技术性能的改善和商业化正在共同扩大着认知技术的应用范围,这种情况在未来几年都将持续下去。

      1、技术提升扩展了应用范围

      认知技术大踏步前进的例子非常多。比如Google的语音识别系统,一份报告显示,Google用了不到两年时间就将语音识别的精准度从2012年的84%提升到如今的98%。计算机视觉技术也取得了突飞猛进的发展。如果以计算机视觉技术研究者设置的技术标准来看,自2010年到2014年,图像分类识别的精准度提高了4倍。Facebook的DeepFace技术在同行评审报告(译者注:同行评审,是一种学术成果审查程序,即一位作者的学术著作或计划被同一领域的其他专家学者评审。)被高度肯定,其脸部识别率的准确度达到97%。2011年,IBM为了让Watson在智力节目《危险边缘》中获胜,曾对Watson进行优化,提升两倍的答案精确度。现在,IBM又宣称如今的Watson比当时“智能”了2400%。

      随着技术的改进和提高,技术应用的范围也在不断扩大。比如,在语音识别方面,机器曾经需要大量训练才能在有限词库里勉强识别出来,由语音识别技术延伸出的医疗应用程序也很难得到真正普及。而现在,每个月互联网上都会有数以百万次的语音搜索。另外,计算机视觉技术过去被狭隘的理解为部署在工业自动化方面,但现在,我们早已看到这一技术被广泛运用到监控、安全以及各种各样的消费应用里。IBM如今正拓展Watson在竞赛游戏之外的应用,从医疗诊断到医学研究再到财务建议以及自动化的呼叫中心。

      并不是所有的认知技术都有如此令人瞩目的发展。机器翻译有了一定发展,但幅度很小。一份调查发现,从2009年到2012年,将阿拉伯语翻译到英语的精确度仅仅提升了13%。尽管这些技术还不完美,但他们已经可以影响到专业机构的工作方式。很多专业翻译人员依靠机器翻译提升翻译精准度,并把一些常规翻译交给机器,自己专注在更具挑战性的任务上。

      很多公司正努力将认知技术做进一步研发,并逐步将其融入到更多产品尤其是企业级产品里,以方便企业用户购买和部署。

      2、对商业化进行的大规模投资

      从2011年到2014年5月,超过20亿美元的风险投资流入到基于认知技术研究的产品和服务里。与此同时,超过100家的相关公司被兼并或收购,其中一些被互联网巨头如亚马逊、苹果、Google、IBM或Facebook收购。所有这些投资都在培育一个多样化的公司图谱,这些公司正在加速认知技术的商业化进程。

      在这里,我们并不会提供关于某公司在认知技术商业化方面的细节,我们希望说明,认知技术产品拥有丰富的多样性。下面就是致力于认知技术商业化的公司名单,这个名单既不是完整无缺也非固定不变,而是一个动态的,用于推动和培育市场的指标。

      数据管理和分析工具主要使用自然语言处理、机器学习等认知技术。这些工具利用自然语言处理来从非结构化的文本中提取出意思,或者借助机器学习帮助分析人员从大规模数据集中发现深层含义。这个领域的公司包括ContextRelevant(译者注:美国的一家大数据挖掘和分析公司)、PalantirTechnologies(译者注:这家公司称要将数据、技术、人类和环境连接起来)、以及Skytree(译者注:一家借助机器学习进行市场分析并提供决策依据的大数据公司)。

      认知技术的各个部分可以被整合到各种应用和商业决策中,分别起到增加功能和提高效率的作用。例如,Wise.io公司提供一套模块来促进商业决策,比如客户支持、营销和销售,这里面会用到机器学习模型来预测哪些客户比较容易流失,以及哪些潜在客户更加容易转化。Nuance公司通过提供一种语音识别技术来帮助开发者进行需要语音控制的移动APP的开发。

      单点解决方案。众多认知技术成熟的标志是它们正在被不断的嵌入到特定商业问题的解决方案中。这些解决方案的设计初衷是要比公司原有的解决方案更加有效,并且几乎不需要认知技术方面的专业人员。普及度比较高的应用领域包括广告、营销和销售自动化、预测以及规划。

      技术平台。平台的目的是为建立高度定制化的商业解决方案提供基础。它们会提供一系列功能,包括数据管理、机器学习工具、自然语言处理、知识表示和推理、以及将这些定制化软件整合在一起的统一框架。

      3、新兴应用

      如果这些技术的表现和商业化趋势继续发展,我们就能够大胆预测认知技术的应用将更加广泛,被接受程度也会大大增加。数亿美金的投资涌入这些基于机器学习、自然语言处理、机器视觉或者机器人技术的公司,这预示着许多新应用即将投入市场。在商业机构依托认知技术构建自动化业务流程、增强产品和服务方面,我们也看到了巨大空间。

      五、认知技术在企业的应用路径

      认知技术将在接下来几年里变得流行。在未来2-5年,技术层面的进步和商业化将扩大认知技术对企业的影响。越来越多的企业会找到一些创新性应用来显著改善他们自身的表现或者创造新功能,以增强他们的竞争地位。企业的IT部门现在可以行动起来,增加对这些技术的了解,评估出适用这些技术的机会,将这些技术可能带来的价值向领导进行汇报。高级商务和公共部门的领导应该思考认知技术将对他们的部门以及整个公司产生何种影响,这些技术将如何激发创新并提升经营表现。


    1.人工智能大发展时代,如何利用大数据改变现有商业模式?

    http://www.duozhishidai.com/article-17554-1.html

    2.人工智能来势凶猛,人工智能最热门的技术趋势是什么

    http://www.duozhishidai.com/article-923-1.html

    3.今年人工智能领域,十项中外人工智能领域富有突破性的技术

    http://www.duozhishidai.com/article-17560-1.html

     

    展开全文
  • -wise - suffix 后缀

    2020-11-18 00:37:13
    以 … 方式,朝…方向,关于,在 … 方面,像 … 一样,如同,位置,样子 forming adjectives and adverbs of manner or respect such as clockwise, otherwise. 构成形容词和副词。用于名词后构成副词。 clockwise ...
  • 本文将对结合机器学习的 ranking 技术——learning2rank——做个系统整理,包括 pointwise、pairwise、listwise 三大类型,它们的经典模型,解决了什么问题,仍存在什么缺陷。关于具体应用,可能会在下一篇文章介绍...
  • 京东在强化学习推荐系统方面的工作,发表在RecSys 2019. 本文与京东几乎同时的另一篇工作Deep Reinforcement Learning for List-wise Recommendations在整体架构上非常相似 背景 除了现有的推荐系统无法建模系统...
  • 论文解析:Deep Reinforcement Learning for List-wise Recommendations 简介 京东在强化学习推荐系统方面的工作,发表在KDD 2019 背景 推荐系统存在的问题: 无法通过与用户的交互建模用户的动态兴趣变化 最大化单...
  • (现阶段pair-wise和triplet) (2)如何进行bianry code的离散优化;(现阶段sign或者sigmoid等激活函数) 摘要 现在的深度哈希检索中损失函数的优化都是基于pair-wise或者triplet形式的排序学习,然后这样的方式...
  • 方面图卷积的邻接矩阵可以用来描述两个结点之间的连接关系,另一方面图卷积可以很好地利用结点之间的关系来进行图推理,因此呢可以通过设计邻接矩阵来进行特定的feature的融合过程。 下图是作者使用该文章中提出来...
  • K3 wise 表单插件开发

    千次阅读 2019-10-09 13:40:24
     其中Case 1 代表的是表头,2代表的是表体(目前这里只是我的猜测的,不权威,我也不知道从哪里照这方面的资料,如果有朋友知道的话也告诉我下)。   3.表单值更改出发后,如何确定是哪个字段值更改触发的?...
  • 作为全球拥有过亿海量用户的系统优化工具wise care 365激活版独有业内顶级算法使得它在众多系统优化清理软件中脱颖而出,系统优化清理方面的功底相当给力用户体验非常好,,注册表和磁盘碎片的清理是又快又安全,...
  • Patch-wise Attack for Fooling Deep Neural Network (ECCV2020)

    千次阅读 多人点赞 2020-07-05 15:08:26
    Patch-wise Attack for Fooling Deep Neural Network (ECCV 2020) Hello,不知不觉我已经快一年没更新过博客啦,实在是因为有点忙,没时间写论文阅读笔记了。不过这次自己的论文中了,决定还是来分享一波顺便冒个泡...
  • 公式 几句废话 先来一两句废话,要想解释好点互信息必须学会科学上网,当然如果没有条件本篇博客会具体介绍。...没有对比就没有伤害,不是为了黑而黑,实事求是的讲百度在相关学术方面做的真的不咋地...
  • 推荐系统通过给用户推荐个性化商品,在缓解信息超载或服务这些问题方面起着至关重要的作用。绝大多数传统推荐系统将推荐算法视为静态过程,并且根据固定策略提出建议。在本文中,我们提出一种新颖的推荐系统,该系统...
  • Layer-wise Pruning and Auto-tuning of ...这篇论文是上个月刚出的关于剪枝方面的论文。作者:首尔大学团队 论文下载地址:https://arxiv.org/abs/2002.06048 Layer-wise剪枝+AutoLR:深度网络微调中的层级剪枝和...
  • Pointwise方法是通过近似为回归问题解决排序问题,将每个查询-文档对的相关性得分作为实数分数或者序数分数,训练排序模型。预测时候对于指定输入,给出查询-文档对的相关性得分。 模型在参数训练阶段只考虑对每个&...
  • 目录本文贡献MethodologyAdjacency Matrix GenerationCoupled Layer-wise Graph ConvolutionMulti-level AggregationTemporal Dependence ModelingExperimentsDatasetsExperimental SetupMain ResultsComparison ...
  • Wise Care 365 Pro 是一款来自国外全球超过...作为全球拥有过亿海量用户的系统优化工具wise care 365激活版独有业内顶级算法使得它在众多系统优化清理软件中脱颖而出,系统优化清理方面的功底相当给力用户体验非常好。
  • 本文将对结合机器学习的ranking技术——learning2rank——做个系统整理,包括pointwise、pairwise、listwise三大类型,它们的经典模型,解决了什么问题,仍存在什么缺陷。关于一些扩展话题和具体应用,可能会在下一...
  • 方面,导致输入空间内的样本不是 IID 的,违反了 ML 的基本假设,另一方面,没有充分利用这种样本间的结构性。其次,当不同 query 对应不同数量的文档时,整体 loss 将容易被对应文档数量大的 query 组所支配,...
  • WiseCleaner公司大家并不会陌生,像前段时间软件盒子发布的Wise Folder Hider 、Wise Data Recovery 等优秀的系统辅助工具都是出自于他们公司,但是这次要介绍的是wise care 365 pro 4,这是一款功能强大的电脑系统...
  • 论文:Graph Representation Learning via Hard and Channel-Wise Attention Networks 这篇论文主要通过使用Hard attention和channel-wise attention 在大规模图数据应用中,可以有效的节省计算资源。并且基于提出的...
  • Family-wise error rate(FWER),暂时还不了解比较通俗易懂的翻译。False discovery rate(FDR),一般翻译为错误发现率。在研究使用假设检验解决机器学习中的分类问题时,我遇到了多重假设检验问题。FWER和FDR正是解决...
  • PPP:Joint Pointwise and Pairwise Image Label Prediction 是CVPR2016的一篇文章,提出将pointwise(单标签)和pairwise label (对标签)结合起来进行图像标注词的预测。本文对该文章进行翻译和解读。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,925
精华内容 4,770
关键字:

wise方面