0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入探讨机器学习与神经网络现状和瓶颈

产业大视野 来源:未知 作者:胡薇 2018-10-23 11:13 次阅读

机器学习作为工具商业化较为广泛的还是在B端,比如一些金融公司会输出自己的风控能力、反作弊能力。在一些高精密工业领域通过AR+AI的技术,已经可以帮助技术人员迅速测量出仪器的指标,并将相关数据回传至控制系统中。大大滴减少了技术人员手工测量的工作,同时也减少了人工测量数据的误差。

一、机器学习的现状和瓶颈

机器学习如今已算是在互联网圈家喻户晓的名词了。现实生活中其实也早有很多应用,什么无人驾驶,人脸识别,智能音响等等。去年七月国家发布了《新一代人工智能发展规划》,说明人工智能领域已经上升到了国家战略层面。身边一直羡慕的土豪朋友们五年后的长线股也都已经买好了。五年后的事情我不知道,但是对我印象最深的就是去年互联网大会,原先人们口中的互联网现在都改名叫传统互联网了。当我们还在理解什么是机器学习的时候,别人已经开公司帮人制定解决方案了。

实际上当前机器学习作为工具商业化较为广泛的还是在B端,比如一些金融公司会输出自己的风控能力、反作弊能力。在一些高精密工业领域通过AR+AI的技术,已经可以帮助技术人员迅速测量出仪器的指标,并将相关数据回传至控制系统中。大大滴减少了技术人员手工测量的工作,同时也减少了人工测量数据的误差。更多的应用场景比如安防领域,通过人脸识别技术可以快速记录出入人员,从而把非结构化数据变成结构化。

不过机器学习也并不是在所有领域都能发挥出巨大作用,起码是在现在这个阶段。机器学习很多情况是需要很多标注数据来供机器进行学习,通过对标注数据不断的学习和优化从而使其建立一个泛化的模型,当新的数据通过这个模型时机器便会对其进行分类或者预测。

比如说如果要判断一个病人是否患有血管癌,就需要有大量被标注的血管病变数据。但这些标注数据的工作是需要非常有临床经验的医生一个一个的去判断和标注的。一方面是有经验的专家医生很少,另一方面对于这类数据本身数量也有限。另外医疗行业对于模型的准确率要求肯定不会亚于无人驾驶。所以不可否认机器学习的应用的确有它的强大之处,但在不同领域中充满的挑战也非常多。

二、神经网络算法

按照惯例,简单介绍一下神经网络。

1、神经元

人类对事物的感知是通过无数个神经元通过彼此链接而形成的一个巨大神经网络,然后每层神经元会将接收到的信号经过处理后逐层传递给大脑,最后再由大脑做出下一步决策。神经网络算法实际上就是在模仿这一生物原理。

2、监督无监督

神经网络算法是属于有监督学习的一种。有监督学习实际上就是需要有大量的被标注数据供其学习。反之无监督就是不需要事先对数据进行标注,而是利用算法挖掘数据中潜在的规律,比如一些聚类算法。那么半监督学习,相信也不难理解。

3、权重参数

神经网络算法中的最小单元即为神经元,一个神经元可能会接受到n个传递过来的数据。每条数据在输入神经元时都需要乘以一个权重值w,然后将n个数据求和,在加上偏置量b。这时得到的值与该神经元的阈值进行比较,最后在通过激活函数输出处理结果。

4、线性与非线性

实际上算法本身最核心的是一个线性函数y=wx+b。w为权重值,b为偏置量,x为输入数据,y为输出数据。当我们在处理某些数据时,理想情况是这些数据为线性可分的。这样只要我们找到这条直线的w和b就可以作为某个模型来对数据进行分类或预测了。如下图:

但事实上大部分的数据并不是线性可分的,或者说一条直线无法很好的表达这些数据集。这时候怎么办呢?这时候一般情况下就会通过增加多个神经元以及激活函数来使模型拟合数据集。

5、激活函数

那么,什么是激活函数?说白了,激活函数就是一个能把线性函数掰弯的函数。比如下面的这组数据我们是无法通过一条直线将红蓝两种数据分隔开。但是通过激活函数,我们甚至可以将一条直线掰成一个圆。这样我们就可以将两组数据分隔开了。

所以理论上,我们可以将一条直线做任意的变化使其更加贴近数据集,并选取一条最优曲线即为我们期望的最终训练模型。那么我们的目标就很明确了。

6、优化器

但是如何才能找到这么一条曲线?这时候我们可以引入一系列的优化算法,比如梯度下降。通过优化算法对函数求导我们可以使模型中的参数逐渐贴近真实值。同时在优化过程中还需要加入损失函数。

7、损失函数

什么是损失函数?损失函数说白了可以理解成为一个验收者。损失函数会去衡量测试数据中的结果与实际值的偏差情况。如果偏差较大就要告诉优化函数继续优化直到模型完全收敛。常用的损失函数如:交叉熵、平方差等。

8、过拟合欠拟合

不过需要注意的是,如果我们的曲线完美的拟合了所有数据,那么这条曲线是否即为我们模型的最优曲线呢?答案是否定的。这里我们还需要考虑一个模型泛化的问题。如果我们训练了一个模型,但是这个模型仅能在训练数据集中发挥很大效用,那么它实际的应用意义其实并不大。我们需要的是通过这个模型能够让我们了解到我们未知的信息,而不是已知的。所以我们并不希望这条曲线能够穿过所有的数据,而是让它尽可能的描绘出这个数据集。为了防止模型过拟合可以尝试增加训练数据同时减小模型复杂度。同样我们也不可能让这条曲线完全偏离数据集。

三、深度学习框架

自己推导算法?自己设计模型?不存在的…大神们早就帮你封装好了。安心做一个调包侠吧。

没有训练数据?没有测试样本?不存在的…大神们早就帮你准备好了。安心做一个调参狗吧。

什么?还是不知道怎么做?不存在的!下面让你秒变机器学习大神(装逼狗)。

Keras

机器学习的框架这里就不枚举了,不过Keras还是非常值得提一下。相比Tensorflow,Keras更容易新手上手,封装的更加高级。建议在尝试使用框架前先了解或学习一下python,然后直接Keras中文文档吧。

那么如何秒变大神?Keras框架中其实已经内置了很多预训练好的模型,如ResNet50图片分类器。你只需要将下图中的代码复制到你的Keras框架中并运行。然后泡一杯咖啡,想象自己已经成为吴恩达一样的大神。静静的等待着深藏功与名的那一刻的到来。

大概半小时的时间,模型下载安装完毕。激动人心的时刻终于来临,赶快来测一下这个模型。从百度上随便搜索了一张猫的图片,并将图片的大小改为224*224像素。然后将图片放到项目的根目录中(不要忘记修改代码中的图片名称),最后运行程序。你会发现模型不仅能识别出来是一只猫,并且还知道是一只波斯猫。惊不惊喜?刺不刺激?是不是有很多小图片想要尝试?赶快玩起来吧。

通过对这个模型的封装以及作为产品经理的你,相信也可以YY出很多好玩的应用。虽然通过Keras中的预置模型可以让我们快速体验机器学习的能力,但是个人建议最好还是自己手动搭建一套简单的模型会更加帮助理解。Keras是通过Sequential模型线性堆叠网络层。其中一些常用的层Keras已经封装好了,同时上面说到的激活函数、优化器、损失函数等等也都是任君挑选的。所以想要通过Keras搭建自己的模型其实也不难。上述内容实际上也只是一个抛砖引玉,至少个人也是通过这些才开始对机器学习感兴趣的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4570

    浏览量

    98706
  • 机器学习
    +关注

    关注

    66

    文章

    8105

    浏览量

    130542

原文标题:【Robot 学院】机器学习与神经网络现状和瓶颈

文章出处:【微信号:robotn,微信公众号:产业大视野】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    详解深度学习神经网络与卷积神经网络的应用

    在如今的网络时代,错综复杂的大数据和网络环境,让传统信息处理理论、人工智能与人工神经网络都面临巨大的挑战。近些年,深度学习逐渐走进人们的视线,通过深度
    的头像 发表于 01-11 10:51 709次阅读
    详解深度<b class='flag-5'>学习</b>、<b class='flag-5'>神经网络</b>与卷积<b class='flag-5'>神经网络</b>的应用

    10分钟快速了解神经网络(Neural Networks)

    神经网络是深度学习算法的基本构建模块。神经网络是一种机器学习算法,旨在模拟人脑的行为。它由相互连接的节点组成,也称为人工
    的头像 发表于 09-21 08:30 754次阅读
    10分钟快速了解<b class='flag-5'>神经网络</b>(Neural Networks)

    不可错过!人工神经网络算法、PID算法、Python人工智能学习等资料包分享(附源代码)

    为了方便大家查找技术资料,电子发烧友小编为大家整理一些精华资料,让大家可以参考学习,希望对广大电子爱好者有所帮助。 1.人工神经网络算法的学习方法与应用实例(pdf彩版) 人工神经
    发表于 09-13 16:41

    卷积神经网络(CNN)的工作原理 神经网络的训练过程

    前文《卷积神经网络简介:什么是机器学习?》中,我们比较了在微控制器中运行经典线性规划程序与运行CNN的区别,并展示了CNN的优势。我们还探讨了CIFAR
    发表于 09-05 10:19 926次阅读
    卷积<b class='flag-5'>神经网络</b>(CNN)的工作原理 <b class='flag-5'>神经网络</b>的训练过程

    构建神经网络模型的常用方法 神经网络模型的常用算法介绍

    神经网络模型是一种通过模拟生物神经元间相互作用的方式实现信息处理和学习的计算机模型。它能够对输入数据进行分类、回归、预测和聚类等任务,已经广泛应用于计算机视觉、自然语言处理、语音处理等领域。下面将就
    发表于 08-28 18:25 620次阅读

    人工神经网络和bp神经网络的区别

    人工神经网络和bp神经网络的区别  人工神经网络(Artificial Neural Network, ANN)是一种模仿人脑神经元网络结构和功能的计算模型,也被称为
    的头像 发表于 08-22 16:45 3418次阅读

    cnn卷积神经网络模型 卷积神经网络预测模型 生成卷积神经网络模型

    cnn卷积神经网络模型 卷积神经网络预测模型 生成卷积神经网络模型  卷积神经网络(Convolutional Neural Network,CNN)是一种深度
    的头像 发表于 08-21 17:11 797次阅读

    卷积神经网络和深度神经网络的优缺点 卷积神经网络和深度神经网络的区别

    深度神经网络是一种基于神经网络机器学习算法,其主要特点是由多层神经元构成,可以根据数据自动调整神经
    发表于 08-21 17:07 2293次阅读

    卷积神经网络算法是机器算法吗

    卷积神经网络算法是机器算法吗  卷积神经网络算法是机器算法的一种,它通常被用于图像、语音、文本等数据的处理和分类。随着深度学习的兴起,卷积
    的头像 发表于 08-21 16:49 515次阅读

    卷积神经网络的基本原理 卷积神经网络发展 卷积神经网络三大特点

    卷积神经网络的基本原理 卷积神经网络发展历程 卷积神经网络三大特点  卷积神经网络的基本原理 卷积神经网络(Convolutional Ne
    的头像 发表于 08-21 16:49 1433次阅读

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法 卷积神经网络(Convolutional Neural Network,CNN)是一种基于深度
    的头像 发表于 08-17 16:30 902次阅读

    神经网络模型用于解决什么样的问题 神经网络模型有哪些

    神经网络模型是一种机器学习模型,可以用于解决各种问题,尤其是在自然语言处理领域中,应用十分广泛。具体来说,神经网络模型可以用于以下几个方面: 语言模型建模:
    的头像 发表于 08-03 16:37 4141次阅读

    什么是神经网络?为什么说神经网络很重要?神经网络如何工作?

    神经网络是一个具有相连节点层的计算模型,其分层结构与大脑中的神经元网络结构相似。神经网络可通过数据进行学习,因此,可训练其识别模式、对数据分类和预测未来事件。
    的头像 发表于 07-26 18:28 1929次阅读
    什么是<b class='flag-5'>神经网络</b>?为什么说<b class='flag-5'>神经网络</b>很重要?<b class='flag-5'>神经网络</b>如何工作?

    浅析三种主流深度神经网络

    来源:青榴实验室1、引子深度神经网络(DNNs)最近在图像分类或语音识别等复杂机器学习任务中表现出的优异性能令人印象深刻。在本文中,我们将了解深度神经网络的基础知识和三个最流行
    的头像 发表于 05-17 09:59 1059次阅读
    浅析三种主流深度<b class='flag-5'>神经网络</b>

    浅析三种主流深度神经网络

    来源:青榴实验室 1、引子 深度神经网络(DNNs)最近在图像分类或语音识别等复杂机器学习任务中表现出的优异性能令人印象深刻。 在本文中,我们将了解深度神经网络的基础知识和三个最流行
    的头像 发表于 05-15 14:20 605次阅读
    浅析三种主流深度<b class='flag-5'>神经网络</b>