Inception的核心逻辑

Inception是一种启动软件项目的方法,通过为期3天至2周的设计工作坊,帮助客户快速达成项目范围一致并进入交付阶段。该方法由Luke和Marc创建,旨在减少假设带来的风险。

Inception是ThoughtWorks多年以来使用的启动软件设计和交付项目的方法,通过3天到两周的时间,采用集中式、互动式的设计工作坊,帮助客户在最短时间内达成对项目范围的一致,快速进入项目交付。

Y同学是我们最年轻的设计师,她问:

y-question

最重要的事情,我认为单词应该写对,是「硬塞噗婶」而不是「硬塞噗母」,然后我来用最轻松的、完全不同以往那么严肃的语调,讲讲什么是Inception。

问题

首先,让我们来到问题的情境当中,这个情境有以下几个元素:

  1. 一个企业
  2. 交付一个软件
  3. 解决一个业务问题

2001年,年轻的Luke叔叔和Marc叔叔还在爱深折工作的时候,就遇到了这样一个情境:

  1. 英国农业部
  2. 一个新的农业税计算平台
  3. 处理全国各个粮仓收粮时候的退税问题

Luke叔叔和Marc叔叔青葱少年自然依恋设计师自由的明媚、追求设计理想,然而现实并不是这样,他俩被安排写了9个月文档。

第十个月,英国农业部宣布农业税的重要改革,他俩的工作变成了然并卵。

02

年轻气盛的二人觉得「再也不能这样过,再也不能这样活」,毅然决然离开了公司,追求新的设计方式。

反思

这就是那个时代的故事,每个流程上的人,辛辛苦苦完成的工作,最后因为一个变动而变得毫无意义,聪明的二人开始反思:作为设计师的我们该如何面对更快的变化呢?

他们的思考逻辑是:

  1. 为什么变化可以让我们做的变得毫无意义?因为我们做的事情都基于某个「不会变化的假设」:农业部的税收制度在一年内不会变化;
  2. 事实上这些假设「被打脸」的频率从一年变成了9个月,而且会越来越高;
  3. 这些假设还来自于内部,领导在让我们写文档的时候说:「同志们,放心吧,真的不会变,写吧」,我们假设领导是对的;
  4. 我们能不能避免假设呢?似乎不能没有,不假设,不打包票,谁会干活?
  5. 那么在不能避免假设的情况下,我们要做的是降低「假设带来的潜在伤害」。

这就是Luke和Marc所思考的:

设计一种流程尽可能降低假设带来的潜在伤害。

假设

你发现你生长在一个充满假设的世界里,他们说市场不会变、他们说他们要的东西一定会成功、他们说他们完全理解你的意思、他们说改了这一版不会再改了,呵呵,都是骗子。

03

事实上,你的项目里,市场一定会变、他们说的东西根本就是个玩笑、他们根本不懂也不在乎你说什么、他们改了一版还之后的二百版。

为什么要有需求冻结,没有需求冻结,被玩死的是你,但是很遗憾,有了需求冻结,被玩死的可能是你的公司。

需求优先级中有「总裁需求」这样的定义,私下里,他们把这样的需求标记为「呵呵」。像一副牌里打出8对王炸,我就炸了,你咋滴!你之前听到的所有假设和承诺,全都不作数。

事实上,真正的王炸,可能来自市场,如果市场变化期缩短到6个月,意味这你所有的研发行为从想法到运营的时间,必须在6个月以内甚至更短,我把这个叫做「王炸周期」。

因此在做软件规划的时候,你如何能够保证从想法到投入市场,短于6个月?

Inception的最核心含义在于:

如何规划一个从想法到运营时间短于「王炸周期」的软件项目?

8年以来,这个周期变得越来越短,在某些极端情况下,你可能只有6周时间。

对策

变化的周期越短,我们就越需要去除更多的假设,一个软件项目的假设有很多,他们包括:

  1. 买单的人知道我们在干什么、怎么干;
  2. 设计师和客户之间对于解决方案达成了一致;
  3. 可以实现;
  4. 可以在一定时间内实现;
  5. 有用户愿意使用我们的服务。
  6. 未来运营的人认同我们的方案并表示可以继续运营下去;

我们也许不能保证这些假设都能够成立,但是「一分也是爱」,能验证一个是一个。

验证这些假设也不容易,你怎么能保证买单的领导没有新的想法?大部分人的思路是:我要做一个尽可能完美的方案,让领导挑不出毛病。你错了,你在「憋大招」的同时,领导也在「憋大招」,意思是你自信满满打出「王炸」的时候,领导打出了8个。

你怎么保证你的设计交付团队就能完成?拍着胸脯说放心吧这个简单的技术骨干拍屁股走人之后,你就哭吧,这时候他们打出「对三」你都要不起。

你怎么保证你的用户会使用你的服务?你大概知道中国创业产品的生命周期平均不超过8个月,你花8个月做的产品,可能够在市场上死两回了。

那你该怎么办?

做小、多验证假设。

最有做得小、你才有时间进行验证,这便是Inception的逻辑,把大部分的时间花在验证假设上,而不在研发上。

过程

之前提到的6大假设正是Inception活动的精髓所在,它们是:

  1. 验证利益相关者的战略;
  2. 验证设计有效性;
  3. 验证方案可行性;
  4. 验证方案实现时间的合理性;
  5. 验证产品有效性;
  6. 验证产品可运营性。

传统方式中,这些假设的验证通常通过一系列活动打散在公司的决策过程中,例如总裁例会讨论决策、用户研究和设计由不同服务提供商完成、交付由IT或外包完成、最后交给产品运营团队完成。

而Inception则尝试用最短的时间(短至1周)完成以上的6大验证。最简单的一条Inception逻辑是:

04

这个过程充满着视觉化的工作坊,协助组织内的利益相关者进行互动,共同识别问题、设计方案:

05

设计流程也是快速而逐层演进的,而绝不使用一个完美的设计方案:

06

Inception不仅仅是业务和设计的整合,还包含技术,我们会根据设计梳理出完整的交付列表,请注意,这一切都只发生在一周之内:

07

当然我们也会注意用户测试,这样的用户测试可能主要来自于企业内部,测试内容主要在可用性、而不在产品策略,关于产品策略的验证,将有其他更具备精益特征的服务方式覆盖。

而Inception和敏捷软件交付的关系则是:

  1. Inception负责明确足够进入交付的工作量,并尽可能地去除这个工作量中的假设;
  2. 敏捷软件交付则基于这个「足够的设计」进行不断地迭代交付和设计、并进行测试和改进。

08

总结

话说回来,Luke叔叔和Marc叔叔就是我们引以为傲的Inception的创立者,10多年来这套方法帮助我们启动了超过200个软件交付项目,包括现在所说的服务设计,其中的逻辑并不出其左右,在这个基础上,我们又演进出来1天、3天、2周、4周、甚至8周的版本,根据不同项目情况进行定制,而核心逻辑一直没有变化,它们是:

  1. 我们认为软件交付需要拥抱变化;
  2. 假设越多、变化时候成本越大;
  3. 我们要尽可能消除6大假设,包括:决策者、业务需求与设计范围、技术实现、交付时间、产品有效、和可运营性;
  4. 我们通过做小来降低消除假设所带来的成本;
  5. 我们通过丰富的设计和沟通实践降低消除假设所带来的成本;
  6. 我们只计划和设计足够启动的体验,进入迭代式的交付过程。

到后来Marc叔叔写了一本《Agile Experience Design》的书,而Luke叔叔管理着ThoughtWorks在欧洲区的业务,遗憾地是,在2014年的一场车祸中丧生,请爱穿花衬衣的Luke叔叔放心,中国的小伙伴早已把薪火一代代传了下去,也要谢谢你。

### InceptionNet 深度学习模型架构与应用 #### 一、InceptionNet 的基本概念 InceptionNet 是一种广泛应用于计算机视觉领域的深度学习模型,其核心设计理念在于通过多尺度卷积操作来捕捉不同大小的特征[^2]。这种设计使得 InceptionNet 能够高效处理复杂的图像数据,并在多个任务中表现出优异性能。 #### 二、InceptionNet 的架构特点 InceptionNet 的主要特点是引入了 **Inception Module**,这是一种特殊的网络结构单元。以下是其关键特性: 1. **多分支并行计算** Inception Module 中包含了多个平行的卷积层,分别采用不同的卷积核尺寸(如 \(1 \times 1\)、\(3 \times 3\) 和 \(5 \times 5\)),从而能够同时提取局部细节和全局信息。 2. **降维机制** 使用 \(1 \times 1\) 卷积核进行通道数缩减,有效降低了计算复杂度,提升了模型效率。 3. **池化操作融合** 平均池化或最大池化的结果被加入到模块输出中,进一步增强了模型对空间变化的鲁棒性。 4. **逐层堆叠扩展** 多个 Inception Modules 可以按顺序堆叠形成完整的网络结构,例如经典的 Inception V3 就采用了这一策略。 #### 三、InceptionNet 的具体版本 目前已有多个改进版的 InceptionNet 发布,其中最著名的是 **Inception V3**。它不仅优化了原始架构中的瓶颈问题,还引入了一些新的技术手段,比如: - **Factorized Convolutions**: 将大尺寸卷积分解成更小的卷积组合(如将 \(5 \times 5\) 替换为两个连续的 \(3 \times 3\))。这既减少了参数量又提高了表达能力。 - **Asymmetric Convolutions**: 利用不对称形状的滤波器(如 \(1 \times n\) 和 \(n \times 1\))替代传统的正方形滤波器,进一步降低计算成本。 #### 四、InceptionNet 的典型应用场景 由于其强大的表征能力和灵活性,InceptionNet 已经成为解决各类图像相关任务的理想工具之一。下面列举几个常见的用途领域及其优势所在: 1. **图像分类** 基于 ImageNet 数据集上的大规模预训练权重,InceptionNet 提供了一个可靠的基线解决方案,在面对新类别时只需微调即可快速适应目标场景需求。 2. **对象检测** 结合区域建议方法或者单阶段预测框架,可以构建高效的体定位系统。例如 Faster R-CNN 或 YOLOv系列都可以集成 Inception 主干网部分完成端到端训练过程。 3. **人脸识别** 类似 FaceNet 这样的专用方案可能依赖于 Siamese 网络或其他变体形式,而通用型 CNN 如 ResNet/Inception 同样适用于此方向研究探索工作当中[^1]。 ```python import tensorflow as tf from tensorflow.keras.applications import InceptionV3 # 加载预训练好的 InceptionV3 模型 base_model = InceptionV3(weights='imagenet', include_top=False) # 自定义顶层全连接层适配特定任务 x = base_model.output x = tf.keras.layers.GlobalAveragePooling2D()(x) predictions = tf.keras.layers.Dense(10, activation='softmax')(x) model = tf.keras.Model(inputs=base_model.input, outputs=predictions) ``` 上述代码片段展示了如何利用 TensorFlow 库加载预先训练完毕的标准配置文件夹下的 inception_v3_weights_tf_dim_ordering_tf_kernels_notop.h5 文件作为基础组件,并在此基础上附加额外逻辑满足个性化定制需求。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值