所谓分散式和流行的分布式没有关系,只是从事过的coding领域太多,开始是游戏coder,再做测试,然后是freelancer,还有技术支持,数据库,手机,web前后端,设计.net java 甚至cobol,广而不精一直觉的是自己的硬伤。晃到现在的公司6年前的事了,规模不大,甚至没有it团队。当时公司网站都是老板儿子搞的,老板因此对他儿子颇为自豪(静态html)。当初也没想过会在这个公司呆多久,回头数数已经6年了。。。可能唯一吸引我的地方就是老板是个开明的人,很多的自由空间,it上的事都让我做主了。
项目的由来是公司需要做网络市场调查,市面上的软件看了一溜够,专业的非专业的,竟然没有能满足我们需求,遂决定自己做,根据邮件历史显示是06年10月份,fp开始的第一个工作并不是现在的项目,第一封关于现在项目的邮件是07年2月26日,当时还是.net的,教我如何部署testlab,这是项目的第一个名字,现在回头看看功能虽然简陋,核心思想还是贯穿到现在了。
后来几个月里陆陆续续更新了几次,迎来了第一次实际应用机会。客户发布一个问卷。当时bs结构还不是王道,浏览器也是ie6的天下,没考虑过兼容ff的问题,结果是ff的js全部出现问题。为了兼容不同浏览器,基本上需要开发两个js版本。苦不堪言,而且随着前段的操作越来越复杂,js的开发调试也让人头疼。不过老板一直是很乐观的,期间竟然去参加了一次软件展会,参展的都是这个领域浸淫十余载的大牛们。老板竟然带了一帮人去招摇了一番。现在想想的确汗颜。
为了js的问题找了很多前端方案,直到看到google的gwt,当初的版本是1.2,还需从命令行创建项目,估计fp今天还保留了这个习惯。感觉很满意。写swing一样就能生成js,还不用操心浏览器兼容问题。problem solved!作为java老人的fp很快作出了第一个gwt版本。演示后老板非常满意,趁他在兴头上,答应了我提出扩大队伍的要求。然后就有了yr的加入。
之前从来没有过面试的经验,不知到如何挑人,其实到现在也没有,只不过找到一条原则:就是只要有一点不满意,绝对不能考虑!大学4年,yr脾气没变。第一次见面,我老婆在,会后她和我说,感觉这人有点傲,我说有本事的人都这样。直到之后我才觉得,招人和找老婆一样,需要朝夕相处,所以任何不顺眼的地方都会无限放大,但是区别是和老婆可以吵架然后再合好,两个人当过家家。合作伙伴,一次冲突可能就会导致离异。起初以为是我自己的问题,直到老好人fp埋怨也多了起来,我才知道问题不光在我。虽然fp还抱有幻想,但是我觉得我需要做出决定了。结果可想而知,这就是第一次在发展路上碰到的团队问题。不能否认的是 yr给产品带来了一个重要的东西:新的xml数据结构,今后的发展也没离开过。可能不是他,我们也会找到这个方向,但是究竟节约了不少时间。希望他今后一切顺利,别怨我,兄弟,起码大家还是朋友。
之后的一步是一个重大的转折点,xy的乱入:我不得不承认,我对高手的迷信,虽然高手遍及天下,但是身边的高手确实可遇不可求,xy就是其中一个。大学4 年,虽然一个班里有35个人,但是我眼里真正技术流的只有3个:xy,fp,第三个可能是我(操蛋了:)。找合作伙伴时,想法就是这两人得一可安天下,考虑当时xy工作条件优越,而fp也有自己干的想法。大家一拍既合。事实证明,没有fp确实不可能有现在的项目,从合作到现在,风风雨雨各种磨难已经5年了,我想如果换一个人的话可能早生退意了,也只有他忍我到现在。在说回到xy吧,说实在我对他的期望开始没有这么高,没完全指望他解决根本问题,为的就是能合志同道合的兄弟一起开心做事,而且他还有工作,所以只让他帮忙一个小功能,打个比方就是给自行车换个闸皮。但是他在短短1个月里竟然集毕生功力(夸张:)给我们造出了一辆机动车!(当然顺便也给自行车换了闸皮)改变了整个系统的构架影响直到今日。仰天长叹,安天下得一人即可,得天下还需两人。。。可惜得是他工作太忙,只能乱入,不能加入,再我们遇到重大问题时,还是需要召唤他。
分享到:
相关推荐
在给定的信息中,我们可以看到一个与IT相关的项目,标题为"Outcast-Episode-1",描述简单地提到这是"流浪者第1集"。尽管标题可能让人联想到一部电视剧或游戏,但标签"C#"表明我们正在讨论的是与C#编程语言相关的某个...
蒙特卡洛策略评估是蒙特卡洛强化学习的一部分,其目标是通过一系列完整Episode的经历,学习并得到给定策略的状态价值函数。在这一过程中,关键信息来自于这些Episode中的状态和收获,通过对这些数据的分析,可以逐步...
然后,我们需要记录并存储每次episode的经验,包括经历的状态、执行的动作以及获得的奖励。 当一个episode结束时,我们会使用蒙特卡洛方法来更新值函数。对于每个非终态,我们计算所有后续步骤的回报总和(回报是从...
- 在每个episode中,智能体执行动作,收集经历,并存入缓冲区。 - 定期从缓冲区采样一批经历,更新Critic和Actor网络。 - 使用软更新策略更新目标网络。 - 训练一定数量的episode后,评估模型性能。 在项目中,...
每一步的奖励为1,当连续100个episode的平均累积奖励超过195时,视为问题解决。 实验参数如表1列出,包括学习率(lr)、隐藏层神经元数量(num_hidden)、批量大小(batch_size)、最大回放缓冲区大小(max_size)、折扣...
- **轨迹、回报和episode**:轨迹是智能体经历的一系列状态和动作,回报是智能体在episode中累计的奖励,episode是强化学习中的一次完整交互过程。 - **马尔科夫决策过程(MDP)**:强化学习的基础框架,满足“无...
在一次episode结束后,所有经历过的状态-动作对会被收集起来,形成一个序列。这些序列中的每个状态的价值被更新为该序列中所有后续奖励的平均值,这个过程被称为蒙特卡洛回归。随着更多episode的进行,状态价值的...
- 第一次经历的返回值(Episode Return)用于更新值函数。 5. **深度强化学习(Deep Reinforcement Learning, DQN)**: - 引入深度学习模型(如神经网络)来近似Q函数,解决传统Q-learning中的维数灾难问题。 - ...
5. **目标网络更新**: 按照一定的频率(例如每N步或每N个episode),将主网络的权重复制到目标网络。 6. **超参数调整**: 如学习率、批大小、折扣因子等,对训练效果有很大影响,需要根据具体任务进行调整。 **...
总结来看,强化学习的发展经历了从简单的状态转化模型到复杂的深度学习模型的演进,同时也从基于模型的方法转向了模型无关的方法。在这个过程中,研究者不断探索新的技术和算法,以克服现有方法的局限性,推动了强化...
#### 1. アイデア/アイディア (Idea) - **含义**: 创意、想法。 - **应用场景**: 在讨论新项目或解决问题时,常用来指代新颖的想法或构思。 #### 2. アイデンティティー (Identity) - **含义**: 个性、身份。 - **...
3. 更新规则:实现Q学习的更新公式,每次经历一个episode后更新Q表。 4. 探索策略:智能体在探索与利用之间进行平衡,即在随机选择动作和根据Q表选择动作之间做决策。 5. 模拟过程:模拟智能体在迷宫中的移动,直至...
1. PyTorch框架:PyTorch是Facebook开源的深度学习库,它提供了动态计算图的功能,使得模型构建和调试更加灵活。在这个项目中,PyTorch用于构建神经网络模型,训练AI模型以学习游戏的策略。 2. 强化学习:强化学习...
蒙特卡洛方法通过大量随机样本学习价值函数,而TD学习则在每次经历后更新,无需等待完整的 episode 结束。 5. **Lecture5-Model-Free-Control.pdf** 这里可能涉及无模型控制(model-free control),即智能体在不...
时序差分学习则是在经验回放的基础上引入了预测误差的即时修正,能够在线学习且不需要完整地经历一个episode。TD学习中的SARSA和Q-learning是最常见的算法,它们分别用于策略迭代和价值迭代。 此外,书中的“近似...
与Q-Learning不同,蒙特卡罗方法在完整的一次经历(Episode)结束后才更新价值函数,这使得它更适用于奖励延迟或者难以估计中间值的情况。它通过计算最终回报(Return)来更新状态值函数。 6. A3C算法: A3C是异步...
这种方法允许智能体在经历每个时间步后立即更新价值函数,而无需等待整个episode结束。 与TD学习相比,蒙特卡洛方法在所有episode结束后才更新价值函数,因此它们在模型未知时能够准确估计长期回报,但更新较慢。而...
3. **Experience Replay**:为了提高学习效率和泛化能力,DDPG使用经验回放缓冲区,存储过去的经历样本,随机采样进行训练,减少序列依赖性。 4. **Target Networks**:为了避免网络更新时的不稳定性,DDPG引入了...
5. 主循环:在每个episode中,根据ε-贪婪策略选择动作,执行动作并记录经历,将经历存入缓冲区。当缓冲区达到一定大小后,进行学习更新。 6. 在每个episode结束时,保存模型或评估性能。 在DQN-master压缩包中,你...