机器学习现在很火, 但有个疑问: 这跟普通程序员有多大关系? 或者说我们的价值在哪里 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
eyp82

机器学习现在很火, 但有个疑问: 这跟普通程序员有多大关系? 或者说我们的价值在哪里

  •  2
     
  •   eyp82 2017 年 1 月 27 日 17728 次点击
    这是一个创建于 3374 天前的主题,其中的信息可能已经有所发展或是发生改变。

    机器学习的算法, 基本就那几大类, 都是根据各种教授研究员们的论文出来的, 各种库也有了, 我们非科研人员能做的就是利用现有的深度学习 /机器学习的库给的 API, 拿一批种子数据训练一下, 然后拿另一批数据验证, 调一下参数. 然后呢? 普通程序员 /架构师在这方面的价值在哪里?

    还请给专家指点.

    47 条回复    2017-01-31 16:40:40 +08:00
    q397064399
        1
    q397064399  
       2017 年 1 月 27 日
    你有听说一种职业 叫做 调参狗
    snnn
        2
    snnn  
       2017 年 1 月 27 日 via Android   1
    举个例子,几个月不写 c++,你会觉得自己什么都懂了,语法上没有什么需要继续学的。但是一旦回到天天写 c++的日子,就会时不时的有新收获,发现要学的还很多,这东西很难

    机器学习呢,现在还是很幼稚的阶段,理论欠缺甚多,远未成熟。实际做事也是,摸索着前进。
    murmur
        3
    murmur  
       2017 年 1 月 27 日   1
    这跟普通程序员没多大关系,但是培训班是绝对不会讲这些东西的,就算是调参要么靠直觉要么靠数学两个都不会你能干嘛
    一个训练程序多少个参数呢 都是阿尔法北塔伽马的
    这是核心竞争力
    对了 调参你以为很简单么?训练数据放多少合适?迭代次数多少合适?多了会不会过拟合?

    当然了,迫于经济压力,现在的机器学习算法都给竞价排名让步了
    bravecarrot
        4
    bravecarrot  
       2017 年 1 月 27 日 via iPhone
    调参方法都是商业秘密
    model 都差不多 看谁调参厉害
    binux
        5
    binux  
       2017 年 1 月 27 日 via Android   2
    机器学习是一个工具,在不同的场景需要搭建大量的 pipeline 才能使用。而大量现成的库和模型让一般程序员也能利用机器学习的成果。
    其次机器学习,数据远比模型重要,你其实并不需要一个 ML 博士,也有可能做得更好。即使你做不到最优的模型,一个最简单的概率模型也能带来 80%的提升。
    最后,机器学习不是魔法,它无法噗地一下就解决你的问题,启发式算法并不可耻。详见 rules of ml 我觉得写得很好。
    UnknownR
        6
    UnknownR  
       2017 年 1 月 27 日
    什么火做什么,乘机捞一笔走了,跟着资本走才有钱赚,只要不忘了技术的本质就好,或者能下定决心跳槽
    18600491593
        7
    18600491593  
       2017 年 1 月 27 日 via Android
    人的作用在于,思想创作。
    tinybaby365
        8
    tinybaby365  
       2017 年 1 月 27 日 via iPhone
    @snnn 深度神经网络理论早已提出,后来的 GPU 计算能力也证明其可行。现在各种接近梯度消失,训练过拟合的方法不断出现。图像的机器分离效果已经超过人类,再觉得不成熟就是保守了。
    matrix67
        9
    matrix67  
       2017 年 1 月 27 日
    广告推荐啊,滴滴打车最短路径选择啊。我就想的到这些东西了。

    还有比如知乎你一点进去很多乱七八糟的你不感兴趣,以后会有更好的 feed 流推荐?
    ipwx
        10
    ipwx  
       2017 年 1 月 27 日   5
    首先反驳“机器学习的算法就这么几种”这一观点。少年你得去看看 Graphical Models ,针对每一个实际问题要先建概率图模型,这一步就得兼顾可计算性和对问题的刻画能力。然后你找一种分布式算法去算吧, Parameter Servers 在向你招手。可以说每一个不同的数学模型建出来的 Graphical Model 就是一个不同算法,要是不同意,你就得承认 HMM 和 Logistic Regression 是同一种算法(都可以由 Graphical Model 刻画)。

    要能精确通过数学语言刻画一个实际问题,这就是功力。

    如果你不想用 Graphical Model 而投降“黑箱”算法深度(神经网络)学习。呵呵,你真以为神经网络是完全黑箱吗?你明白 CNN 是针对数据的什么特性在工作吗?( local receptive field + 平移不变性)应用到具体的问题上就更复杂了,比如两分类,我如果保证正例标注只会漏标不会错标,你如何修改标准的 loss function 以提升在这个具体问题上的性能?

    神经网络现在有很多零件,包括结构上比如 CNN, LSTM, Auto-Encoders ,启发式约束比如 L1/L2 正则化,各种 Sparsity Constraint ,训练方法比如 Nesterov Momumtum (一阶方法), L-BFGS (二阶方法)。网络结构尚且不说,其他每一个超参都会影响到最终训练出来的模型。如何训练神经网络是一种艺术而非技术。
    ipwx
        11
    ipwx  
       2017 年 1 月 27 日
    接上面没说完的话。楼主问普通程序员的价值在哪里?那我可以明确说,价值就在调参。每一个公司、每一个不同应用,都是要调参的,不可能让学术界的人在这上面浪费大量时间(他们还要研究新的结构、新的模型呢)。

    而调参需要很多知识,否则你只能暴力调参,吃力不讨好。所以现在的“普通程序员”是没有调参的能力的。至于怎么办?我不知道。如何培养“普通程序员的调参能力”,这需要工业界去摸索。
    laoyuan
        12
    laoyuan  
       2017 年 1 月 27 日
    干什么都脱离不了业务
    t6attack
        13
    t6attack  
       2017 年 1 月 27 日
    你不知道做什么,那对你来说就没价值。
    zgqq
        14
    zgqq  
       2017 年 1 月 27 日 via Android
    这个领域太高深,普通人能连砖都没得搬
    wdlth
        15
    wdlth  
       2017 年 1 月 27 日   1
    比如把静态分析加上机器学习,可以研究出写多少代码后就会出现大 BUG ……
    snnn
        16
    snnn  
       2017 年 1 月 27 日
    还是那句话,你懂得越少,越是觉得什么都知道。你懂得越多,越发现这简直就是伪科学。
    举个例子, SGD 被用了 10 几年,这东西真有什么理论基础吗?要说 paper ,早在 1950s 就有了。可是如果你拿它和 GD 、 BFGS 之流相比,你根本说不出来这东西为什么会 work ,你连优化的目标函数是什么都不一定能搞清楚。
    snnn
        17
    snnn  
       2017 年 1 月 27 日
    你要是身在此行,必定需要经常读 paper ,关注行业动态。每年那么多大会,那么多 paper 发出来,总有几篇会启发到你,需要你去尝试。这时候你需要去准备 data ,去写 code , 去尝试你的想法。在别人那工作的好好的东西,在你这未必就有效。可能是他在撒谎,也可能是你工作做的不细致。总之,你不能坐等着,等着别人把这些都在 tensorflow 上面实现了,等着别人把一切都准备好了你只管输入几个参数点下 run 。那你就等着吧,等个 3-5 年肯定会有的。
    ipwx
        18
    ipwx  
       2017 年 1 月 27 日
    @snnn 我觉得随机梯度下降优化的是整体目标函数的期望,随机变量是 mini-batch 。收敛性可能不满足,但是大体思想是没错的。至于收敛性…… 有多少数学方法的收敛性在实际计算机应用的时候是仔细考量过的?差不多收敛就行了。

    http://i1.piimg.com/4851/bb15e992a91de3c8.png
    googlebot
        19
    googlebot  
       2017 年 1 月 27 日 via Android
    看着像江湖骗子,和治疗癌症一样,整天都有所为新的突破,都在忽悠,

    不过治疗癌症能骗钱,看来机器学习也能骗钱,
    Neveroldmilk
        20
    Neveroldmilk  
       2017 年 1 月 27 日
    到最后就是建模优化,基本都是码农的活。
    @matrix67
    寻路算法跟深度学习关系不大。
    tinybaby365
        21
    tinybaby365  
       2017 年 1 月 27 日
    @googlebot 不要坐井底之蛙,举个看得见的技术:人脸识别, https://www.faceplusplus.com.cn/,很多公司都在使用。
    googlebot
        22
    googlebot  
       2017 年 1 月 27 日 via Android
    我 10 年前看过人脸识别,没任何难度,有个机构采集 30000 多个样本,共享出来,这个很牛,结果全世界的阿猫阿狗带会人脸识别,没有什么实际产品,

    我想说人工学习的实际用途, 家里一个安全摄像头,能自动学习认识家庭成员,有陌生人时报警,

    这是一个非常实际的需求,现在没有一个产品,所有家庭智能产品都在偷窥你隐私,把你的数据偷偷上传,
    googlebot
        23
    googlebot  
       2017 年 1 月 27 日 via Android
    @tinybaby365 你人脸识别牛,就搞个认识陌生人的摄像头,自动学习的
    snnn
        24
    snnn  
       2017 年 1 月 27 日 via Android
    @ipwx 假如 batchsize 等于 1 呢?
    ipwx
        25
    ipwx  
       2017 年 1 月 27 日
    @snnn 我还是认为从原理上,它是符合那个期望的期望的式子的。只不过实践中,我觉得 batchsize 为 1 会导致很严重的收敛问题罢了。
    snnn
        26
    snnn  
       2017 年 1 月 27 日 via Android
    @ipwx 不是。它和收敛性没有关系
    tinybaby365
        27
    tinybaby365  
       2017 年 1 月 27 日
    @googlebot face++的在线 demo 你可以试一试。人脸识别:识别出图片中的人脸(不在训练集中的)标记出特征点,年龄等数据。你说的案例属于人脸检测,现在的应用有: iOS 的相册, Google 照片, Lightroom 。
    shijingshijing
        28
    shijingshijing  
       2017 年 1 月 27 日
    这么说吧,这一块科学家、研究员相当于设计师,负责想 idea ,出蓝图;程序员相当于搬砖的民工,负责把蓝图盖成大楼。
    hanbing135
        29
    hanbing135  
       2017 年 1 月 27 日 via Android
    Lz 想太多了 程序员在哪都没实际价值啊 (^0^)
    googlebot
        30
    googlebot  
       2017 年 1 月 27 日 via Android
    @tinybaby365 你根本没明白,是家庭安全产品,陌生人登门时马上报警,非常急需的一个安全产品
    murmur
        31
    murmur  
       2017 年 1 月 28 日
    @matrix67 广告推荐国内真没有用算法的。。都是竞价排名。。一个推荐比一个垃圾 满地都是页游广告
    估计最基本的关联规则都没人上
    murmur
        32
    murmur  
       2017 年 1 月 28 日
    @ipwx PRML 里应该有一句,机器学习就两种算法,输出离散的叫分类,连续的叫回归。。
    所以某种意义上真没错。。
    lcqtdwj
        33
    lcqtdwj  
       2017 年 1 月 28 日
    我浅薄的理解,机器学习大部分还是基于统计理论,读研的时候学过,后来觉得很失望,因为并没有创新,只是计算能力和数据量的提升。现在我很怀疑自动驾驶,因为统计总有个置信度,即使可以达到 n 个 9 ,小概率事件还是有可能发生,造成灾难。
    wjidea
        34
    wjidea  
       2017 年 1 月 28 日
    举个例子吧, google 数据中心的能耗控制:

    https://cdn0.vox-cdn.com/uploads/chorus_asset/file/6821533/DC_PUE.0.png
    paulagent
        35
    paulagent  
       2017 年 1 月 28 日
    @googlebot 你说急需就急需啦,做出来有几个人会买? 报警给谁,给你自己让你回家看还是报警给警察? 这种产品和国外的房屋警报系统有什么区别? 在国内这个产品能有什么市场
    googlebot
        36
    googlebot  
       2017 年 1 月 28 日 via Android
    国内盗贼还少?这摄像头放家里,家里有陌生人,就手机发消息,这东西绝对是重新定义安全监控,
    northisland
        37
    northisland  
       2017 年 1 月 28 日
    大概程序按照原理分 2 类:

    I. 基于规则的(语言解释器,编译器,支付,查询,计算平台等)
    II. 基于 AI 算法的(语音输入,手写识别,阿法购)


    大部分系统都是 I 类(你不希望你按规则写的代码,被不同的编译器读出不同的意思),大部分程序员从事的也都是 I 类。即使 II 类项目,也要有大量的 I 类程序作为接口。
    northisland
        38
    northisland  
       2017 年 1 月 28 日
    机器学习套路比较深,不是李航那本蓝皮书就能概括的,起码得看懂 PRML 吧。
    普通做 I 类的也别想掺和了,
    做好 I 类, II 类的项目也需要 I 类的接口。

    作出稳定的 II 类系统很吃功夫的。 I 类用好就很不错的,用不着羡慕 II 类。
    ipwx
        39
    ipwx  
       2017 年 1 月 28 日
    @murmur 按照这个说法,人类对于环境也不过是个反馈系统,输出的是离散(现实世界不存在无限连续值)值而已。
    @lcqtdwj 从某种意义上人类的只能也不过是从观察到的数据中学习出来的。人类的推理本质也可以被贝叶斯公式概括。
    eric227
        40
    eric227  
       2017 年 1 月 28 日
    我理解一个是 rule based, 一个是 data driven ,但都是工具;前一个需要稳定兼容,后一个需要不断学习提升,就像一个人的身体+脑子
    cpygui
        41
    cpygui  
       2017 年 1 月 28 日 via Android
    @snnn 卧槽,说到心坎了。有好几篇 paper 的算法我怎么搞也弄不出来,后来都怀疑到智商问题了。还好我朋友提醒我有些 paper 有坑
    murmur
        42
    murmur  
       2017 年 1 月 28 日
    @lcqtdwj 自动驾驶的永远不是技术问题,是法律问题,没有立法搞清楚机器人驾车把人撞了算谁的,谁敢上无人驾驶
    都以为是 B 公司用真人做 test case 啊
    viator42
        43
    viator42  
       2017 年 1 月 28 日 via Android
    学起来需要姿势水平实在太高,入门的书都一大堆数学公式。
    taowen
        44
    taowen  
       2017 年 1 月 28 日
    机器学习是需要大量离线和在线数据的。大部分搬砖的,就是把数据从一个地方搬运到另外一个地方。然后让这些数据更加遍历于在线和离线的机器决策。这就是一个搬砖的觉悟。
    minvacai
        45
    minvacai  
       2017 年 1 月 29 日 via Android
    @viator42 其实我觉得神经网络入门涉及的数学不算很深,就目前来看就是普通的工科涉及的那些数学书而已,不过要在机器学习这一块有大的斩获的话数学应该是越精越好吧,早知现在会做码农的话当年专业就选数学了
    RockStar
        46
    RockStar  
       2017 年 1 月 29 日   1
    我在机器学习研究生马上毕业了,说说法国的现状吧。现在做机器学习研究有两批人,一批是统计出身的,一批是计算机搞人工智能出身的,论出文章的数量和 citation 数量,统计出身是碾压计算机出身的。研究方向的话,我的老师都在 clustring 和神经网络。机器学习最后都转化为了 optimization 问题。本科学校时的大 boss 是 optimization 大牛,现在已成法国 svm 研究方向的领军人物。现在学过了机器学习之后,觉得这个学科对计算机出身的人并没有什么先天优势(我是计算机出身),比如物理出身的搞矩阵,做模型比计算机的有先天优势,现在机器学习语言 Python 和 R 学习曲线很友好,其他出身的很容易赶上来,而 R 语言对于物理出身的来说简直就是无缝衔接(语法很像 matlab )。对传统程序员的话,要补的东西太多了,矩阵,概率,统计,而每个机器学习模型后都是数学公式来定义的,补起来需要更长的时间。
    Izual_Yang
        47
    Izual_Yang  
       2017 年 1 月 31 日
    @RockStar
    说到统计出身,我突然想起来王小波当年就是教统计学的,还能自己写程序
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2778 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 84ms UTC 12:44 PVG 20:44 LAX 05:44 JFK 08:44
    Do have faith in what you're doing.
    /html> ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86