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

    文章

    4773

    浏览量

    100889
  • 机器学习
    +关注

    关注

    66

    文章

    8424

    浏览量

    132764

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

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

收藏 人收藏

    评论

    相关推荐

    如何构建多层神经网络

    构建多层神经网络(MLP, Multi-Layer Perceptron)模型是一个在机器学习和深度学习领域广泛使用的技术,尤其在处理分类和回归问题时。在本文中,我们将
    的头像 发表于 07-19 17:19 919次阅读

    Transformer能代替图神经网络

    Transformer作为一种在处理序列数据方面表现出色的深度学习模型,自其提出以来,已经在自然语言处理(NLP)、时间序列分析等领域取得了显著的成果。然而,关于Transformer是否能完全代替图神经网络(GNN)的问题,需要从多个维度进行
    的头像 发表于 07-12 14:07 479次阅读

    BP神经网络和卷积神经网络的关系

    BP神经网络(Backpropagation Neural Network)和卷积神经网络(Convolutional Neural Network,简称CNN)是两种在人工智能和机器学习
    的头像 发表于 07-10 15:24 1613次阅读

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

    BP神经网络和人工神经网络(Artificial Neural Networks,简称ANNs)之间的关系与区别,是神经网络领域中一个基础且重要的话题。本文将从定义、结构、算法、应用及未来发展等多个方面,详细阐述BP
    的头像 发表于 07-10 15:20 1166次阅读

    卷积神经网络在视频处理中的应用

    卷积神经网络(Convolutional Neural Networks,CNN)作为深度学习的代表算法之一,在计算机视觉领域取得了显著成就,特别是在视频处理方面。本文将深入探讨卷积神经网络
    的头像 发表于 07-09 15:53 665次阅读

    如何理解RNN与LSTM神经网络

    深入探讨RNN(Recurrent Neural Network,循环神经网络)与LSTM(Long Short-Term Memory,长短期记忆网络神经网络之前,我们首先需要明
    的头像 发表于 07-09 11:12 662次阅读

    人工神经网络与传统机器学习模型的区别

    在人工智能领域,机器学习神经网络是两个核心概念,它们各自拥有独特的特性和应用场景。虽然它们都旨在使计算机系统能够自动从数据中学习和提升,但它们在多个方面存在显著的区别。本文将从多个维
    的头像 发表于 07-04 14:08 1393次阅读

    深度神经网络与基本神经网络的区别

    探讨深度神经网络(Deep Neural Networks, DNNs)与基本神经网络(通常指传统神经网络或前向神经网络)的区别时,我们需
    的头像 发表于 07-04 13:20 964次阅读

    卷积神经网络与循环神经网络的区别

    在深度学习领域,卷积神经网络(Convolutional Neural Networks, CNN)和循环神经网络(Recurrent Neural Networks, RNN)是两种极其重要
    的头像 发表于 07-03 16:12 3476次阅读

    神经网络的基本原理及Python编程实现

    神经网络作为深度学习算法的基本构建模块,模拟了人脑的行为,通过互相连接的节点(也称为“神经元”)实现对输入数据的处理、模式识别和结果预测等功能。本文将深入探讨
    的头像 发表于 07-03 16:11 690次阅读

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

    到自然语言处理,深度学习和CNN正逐步改变着我们的生活方式。本文将深入探讨深度学习与卷积神经网络的基本概念、工作原理及其在多个领域的应用,并展望其未来的发展趋势。
    的头像 发表于 07-02 18:19 929次阅读

    使用PyTorch构建神经网络

    PyTorch是一个流行的深度学习框架,它以其简洁的API和强大的灵活性在学术界和工业界得到了广泛应用。在本文中,我们将深入探讨如何使用PyTorch构建神经网络,包括从基础概念到高级特性的全面解析。本文旨在为读者提供一个完整的
    的头像 发表于 07-02 11:31 730次阅读

    神经网络架构有哪些

    神经网络架构是机器学习领域中的核心组成部分,它们模仿了生物神经网络的运作方式,通过复杂的网络结构实现信息的处理、存储和传递。随着深度
    的头像 发表于 07-01 14:16 740次阅读

    神经元与神经网络的区别与联系

    在人工智能和机器学习的领域中,神经元和神经网络是两个至关重要的概念。虽然它们都与人脑中的神经系统有着密切的联系,但在实际应用和理论研究中,它
    的头像 发表于 07-01 11:50 1017次阅读

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

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