Random Posts
Tags
Categories
Recent Comments
- 小肥 on GDB 从裸奔到穿戴整齐
- flandre on 异步事件模型的 Self-pipe trick
- inv on 异步事件模型的 Self-pipe trick
- skywind on 异步事件模型的 Self-pipe trick
- skywind on 异步事件模型的 Self-pipe trick
Links
Meta
Monthly Archives: March 2019
如何实现传统神经网络?
传统神经网络最早我 2008 年我用 C 实现过一版,当时打算用它来炒股,结果一塌糊涂,不过程序是调试通顺了,主要实现了四个模块: 神经元:存储权重和激励函数,能够根据输入矢量计算出单一输出值。 层:由多个神经元组成一个层,不同层的输入输出可以串起来。 网络:由多个层串起来的网络结构。 训练:BP 算法训练每层上不同神经元的权重。 今年拿出来整理了一下,补写了很多注释,并又照着 C 版本实现了一个 Python 版本的(非 numpy 实现),没用 numpy,因为我觉得 numpy 矩阵套矩阵一串操作猛如虎,看起来会比较头疼,就用基础类型写清楚每步运算会更清晰一些。 项目地址: https://github.com/skywind3000/ml/tree/master/NeuralNetwork 包含两个实现,C 和 Python,神经网络的正向推理是很简单的,就是一路乘加调函数,直接看代码和注释问题不大;但要看懂后面的训练代码,会碰到 BP 算法这个难点,说白了就是要理解什么是链式求导: 感觉讲的最清楚的就是 cs231n 的: Lecture 4 – Backpropagation and Neural Networks 先前看过很多其它二手内容云里雾里讲半天,真的很难明白,但 cs231n 的视频,顺着一步步从最后推导过来,一下就能让你明白怎么回事情,建议找这节课的视频出来看一看。 … Continue reading
为什么图形学人才这么少?
图形学人才变少了,原因说起来很简单,就是锻炼的机会越来越少了呗,以前是家游戏公司都要研发自己的图形引擎,没有标准化,也没有成熟的商用引擎,更没有完善的开源引擎。 那么你但凡一家公司要做产品,势必要有一批人研发自己的引擎,大公司有时间自己慢慢搞全新的,中小公司没资源从头做,至少也要会修改 irrlicht 和 ogre,改着改着也就成自己的东西了,不想改也没关系,挖个拿着上家公司祖传源码的 “牛人” ,过来魔改一堆接口名称,一个新的引擎就诞生了。 那么你一个才毕业的应届生,即便以前从没碰过这一块,只要灵光点,是有很多机会接触到相关工作的,引擎要不断的升级,不断的开发周边工具,经过一个个项目的实战,总能不断成长,哪天碰到公司内外的新项目机会或者上面的人离职了,就能够把各大引擎按照自己的想法再抄一遍,再一不小心给新项目挖几个坑,有幸填完的话,一个新的图形学人才就这么锻炼出来了。然后进可以到大公司从事更专业的工作,退可以到中小公司当个“大牛”。 大公司肯定需要这样的人,发财的中小公司愿意两倍薪水挖这样的人,没发财的中小公司会意识到自己没发财很大原因是没有牛人导致图形效果不好,卡顿和崩溃。 所以人才得以上下流动,对应届生也能一步步的阶梯化成长。而现在就完全反过来了。 除了大公司外,98%的中小公司老板不愿意投资引擎,风险高,见效慢。而且关键是但凡一家外包美术公司,如果你用标准引擎,他们都能给你按标准格式输出各种素材,都能熟练使用标准引擎的各种上下游编辑器。游戏公司自己即便作出个引擎来。周边工具的缺失和非标准化所带来的成本是无可估量的。 作为游戏项目的技术团队,如果同时有公司内闭源引擎和 u3d,除非公司强制,或者前者特定领域下能秒杀后者,否则大部分时候都会选用u3d,因为于公而言,内部引擎文档匮乏,找人困难,培训时间长,找个有经验的人进来也要熟悉一半天。于私而言,自己花几年把经验积累到公司内部引擎上,换家公司,这些经验就白费了,人家需要的东西自己还很不熟,何必呢? 所以当有成熟引擎可用时,不论老板还是员工,因公还是因私,利益最大化的选择都是用现成的而非自研。 你可以说用同样引擎的游戏画面千篇一律,u3d做出来都像乐高玩具,ue34做出来画面看起来都很脏,cry做出来太刺眼,3A大作都有自己的引擎,所以画面才有自己的特点。 这说的没错,但是还有一个边际效应问题,现在不像过去做端游,手游夜游生命周期平均也就几个月,你能指望公司养你半年做引擎?而一款成熟的自研引擎无疑都是要成年计算的迭代时间和无数个项目的试错才可能成熟。游戏生命比过去缩短了三倍,然而引擎的研发周期和复杂度却增长了三倍,人员工资也上涨了三倍,相应整体投资风险也比过去也就高了二十七倍了。 所以除不差钱的大公司外,上到老板,下到项目组和上下游企业,都更愿意选择标准化的外部引擎而不是自研的话,原有的引擎团队的重要性就会降级,就会被打散或者重组,或者没有高薪资自然被分流。 那么一个毕业生,就再也难以有机会从事到相关工作中去了,没有真刀真枪的项目锤炼,没有百万用户终端上填过各种坑的技术,是很难有突破性成长的。 就算你有幸进入到了还有引擎团队的公司里去,你也会因为担心离开这里不好找对口的工作,而不得不考虑转方向的后路。 和以前任何一个图形程序员离职一堆公司疯抢的情况已经完全不同了,需求直接砍去了一大半。 当然,你特别牛的话就可以照样跳出三界外不在五行中,我讨论的大量普通水平的从业人员。而今天的牛人也是从过去普通水平的人里进化出来的。 而现在需求断了,导致人才流动的路径变窄,最终锻炼机会没了,三角循环,自然人才就少了。
Posted in 图形编程, 大浪淘沙
Leave a comment