2017-11-27

coroutine的一些问题

为了绕开繁琐的发布流程,选了python套hadoop的pb做rpc.
主要还是走coroutine的方式.

在一些场景夹杂了callback.
主要是为了一个逻辑里访问访问多个不同服务的时候尽可能得减少block.

只是单纯yield的话,叙事还是单线条的.

比如从yarn拿一批application的信息过来,然后拿对应的配置文件路径,然后读写.

纯粹coroutine的话,大概就是for一下application然后逐个yield getconfig.
再发起read请求,继续yield.

这样的话,至少理论上可以并行发出去的请求只能串行等待了.

当然,一个折中的办法是阶段batch得yield.
就像做map reduce一样,人为分出synchronize point去集中batch yield一个stage.

而且从实现上来说,考虑到coroutine是单线程形式.
要从非IO流程激活IO流程只能人为再加一个yield先切出去给IO一个启动的机会再切回来.

这多多少少不是很符合直觉.

而比较intuition的做法就是直接加callback.
毕竟when ready的语义算是最少认知负担的了.
并且天然地就是一条条并行的处理流水线形式.

尽管实现上并没有什么太本质的区别.

callback的另一个好处或者说coroutine容易犯的一个错就是context的有效性问题.

从形式上来说,callback是一个limited的environment.
所以会比较容易地迫使去带入context,并保持其有效.
至少从个人习惯上来说是这样.

但写coroutine的时候容易有一个错觉.
就是天生的单线程线性形式.
容易陷入写串行代码的一个思路.

比如以写blocking IO的风格写coroutine.

一个例子就是直接持有self.stream去反复做读写.

这里的一个问题在于虽然coroutine保持了代码组织层面的线性执行.
但实际上来说,每一次yield触发的都是隐性的context switch.

也就是说,yield前后的reference指向就存在类似多线程情况下的concurrent modification问题.
上下两行代码的实际指向存在差异.

尽管这个可以从一个local reference来解决.
但始终无法规避前后状态会有不一致的形式的存在.

而这个对于coroutine作为提供一种简化的并发编程模型的初衷是有所违背的.

并且,为了尽可能地enforce这种local reference的做法.
在相关的API调用的接口设计上就可能需要显示的要求传入需要的context.

当然,这可能只是个风格取舍问题.

不过至少从这个层面上来说,跟callback的隔离机制还是某种程度上一致的.

但至少从简化模型的层面来说,coroutine算是没有什么意义的.

因为并行模型的核心要就是并行处理.
强行地约束成一个线性执行条件/形式的话,多多少少算是一种自欺欺人的方式.

相比之下,goroutine算是一种比较好的折衷方式.

原始的callback的when ready虽然是最符合直觉的.
但也存在为人诟病的组织形式上的嵌套callback hell的问题.

虽然可以通过注册一种binding/routing的形式,减少这种欠优雅性.
但随之而来的是叙事流程上的打散,重构,再打散的反复过程.

一个例子就是event机制.

形式上来说,就是通过一个key或者envelope去做mail routing.

相对于直接的when ready来说,感觉上多了一层可有可无的多余描述.
因为本质上来说,event名称成为了具体流程的一个代号索引.

而这个索引,在很多语言和实现里是有些无谓的.

作为对比的goroutine.
形式上就是去掉了不必要的key索引的event dispatcher.

事实上,从意图上来说就是把blocking的东西从当前执行环境移除.

这一点跟coroutine来说,算是一种哲学层面的不同.

因为coroutine虽然同样是基于把booking从当前环境移除的理念.
但做法上是为了保持线性模型.

而goroutine则更像是纯粹的把blocking的东西扔出去彻底不做.
目的是保持当前执行流程里不存在可能阻塞的东西.
然后在实现上提供一个双生的环境,只做blocking的东西.

从直觉上更符合硬件形式.
把实际的IO等操作offload到外围并行设备处理.






2017-11-23

新计划经济

传统意义上来说,收紧流动性无非就几种方法.

一个是准备金.
一个是加息.

而准备金率在现代社会来说,尤其是近几年各种金融自由化和创新.
基本上从资产构成上来说居民成面存款已经不是主要成分了.

尤其在现在各种资产焦虑和中年危机以及个别市场的超额收益驱动下.

所以,某种程度上来说,准备金作为一种宏观手段已经显得有些无力和多余.

于是,剩下的就是加息.

就信用支撑的现代经济来说,流动性的根源还是在于央行.

毕竟某种程度上来说,央行是一种平行于市场的存在.
银行以及各种经济主题的交互到底是在一个闭环的市场内进行.
短期内的内在流动和货币乘数制造的信用货币不如央行直接投放来/收紧来得快速有效.

那么为什么要收紧流动性呢?
或者说为什么不能继续宽松?

因为从手段上来说,准备金已经失效.
而利率操控方面可选的方向只有收缩.

如果可以继续信贷扩张的化,也就不会启用这个唯一的手段和方向.

那么,就现在来说,如果继续宽松会有什么后果么?

存款结构的变化某种程度上来说就是资产证券化扩大的过程.
证券交易的一个属性就是不受时间地点的限制,以及具有高度的交易流动属性.

另一个重要的特征就是容易结构化和对赌性质.

比如次贷中的CDO/CDS.
把不同资质的资产打包然后做远期对赌交易.
带来的后果就是一旦一个环节出问题带来的就是连锁效应.

如果一个市场当中证券资产越多,流动性越高,玩法越多样的化.
也就说隐含的系统变量和因素越多,整体系统的可控程度和稳定性就容易使人产生怀疑.

所以如果要增加安全感的化,只能是降低系统复杂度.
增加更多的管制和限制.

这也就是为什么要收缩信贷的一个原因.

那么为什么是信贷.

金融产品的本质特征是利息差.

原则上来说,可以针对各个系统比如证券保险金融泛金融做具体的管制措施.
但从收效程度和系统性来说,总容易顾此失彼.

而缩简利息差是相对来说一劳永逸的普适增加成本的措施.

所以理论上来说收缩信贷能够比较大范围地通过影响流动性限制和消灭一些金融形式.

加息则是最显著的收缩信贷的一种方式.

于是,加息会有什么其他影响呢?

一个就是融资成本.
尤其是在非经济上行阶段.

这么一想,看IPO政策就不难理解了.

一个还是融资成本.
不过是居民层面的.

负债的升高和融资渠道的缩窄.
带来的自然就是流动性的相对缩减.

从稳定房地产的角度来说,倒也算一种意外所得.
毕竟在没有其他政策的前提下,会在维持价格或者群体合理性的情况下,缩简交易量和流动性从而实际上的达到调控目的.

所以关键的还是看企业融资情况.
毕竟这个是直接影响经济状况的.

如果通过公开市场无法很好地解决的话,只能说是通过特定行业的特定政策倾向.
而这点无论是从架构设计还是实际操作来说,都是会有明显问题和不可控因素的.

所以,totalitarianism的计划经济形式.
只不过使用的都是市场手段而已.


2017-11-06

一些渣事

大概去年4月份的时候吧.
当时还在某卖保险公司.

接到个猎头电话,问能不能谈下某司跟某司的情况.
说手上有个候选人有这两家的offer,刚好在linkedin上看到在这两家都呆过.
所以想详细了解下.

想了想,应该是一个开始在Linkedin然后通过Google+/handout/Twitter问了微信和电话才有了以上的.
不管怎样,大概就是有了这通电话.

电话那头听起来就是一个明显刚毕业或者工作不久的 妹子声音.
有略微明显的情绪升降带来的语调细微 起伏,以及若有若无的 生涩感.
不像一些工作多年的人,听起来积极健康不卑不亢而略显空洞.

内容大概就是问两家公司的环境氛围之类的.
频率比较高的"一个朋友如何如何,觉得这样但又怕那样"的摇摆不定的选择鼓励.

当时的一个印象大概就是刚毕业的妹子做猎头,然后帮男朋友问工作背景帮做决策的感觉.

觉得还蛮有趣的.
也就是顺着"你朋友"如果是如何如何的话,A公司是怎样,B公司能怎样之类的对了起来.

大概就一个午休的时长.

末了礼节性地问是不是最近想换工作,因为看twitter timeline有类似表达.

当时在 某司虽然才一两个月,不过恶心的事确实不少.
加上当时也没现在这么无所谓,于是也礼节性地麻烦留意.

挂了.
便算一段落.

过两天接到小猎头的电话.
还是之前那些问题.
再就是问认不认识某司的某人之类的.

大概是觉得人好,可以套话吧.
想想前面从基本渠道拿到联系方式,倒也是个有思路的会灵活变通的人.

一来当时在职,也确实时间不长,只是知道也谈不上说认识.
二来也算避嫌,便没有深入谈下去.
也算回避了正面回答.

后来一些有的没的,说要请吃个饭,算感谢.
出于宅和懒惧于社交,也就说不用了吧.

忘了是当次后续还是后面还有另外个交流.
总之,大概也就是答应了.

可能约了五,六月份的某个周末.
见了个面,边走边聊.

从某司的一些情况到工作的琐碎和吐槽再到私人的一些状况.
大概就是她问此大的被动应激模式.

算略活泼和外向的一个妹子.
毕竟能这样撑一下午.

晚上吃饭的时候开始爆情史和感情观.
礼尚往来地,也就谈了谈9点20的故事和一些感受想法.

末了,虽然名义上是她要请客吃饭.
不过礼节上来说还是先买了单.

于是回地铁的路上又基于此展开了一些所谓男女思维差异之类的对话吧.

分别的时候说有空去找她玩啊.
笑笑说不觉得自己无聊的话.
不会呀.

就此别过.

某个周末想起这段话.
又想起了9点20.

问自己到底还在意不在意呢.
要不要约约看呢.

也算是了了件事.

于是问要不要看个电影.
答曰好.
就看了.

完了她说想去海边走走,便去着.
然而走错路,便晃悠了一圈.

回去了路上说要要把上次的饭前和这次的开销AA回来.
笑了笑说不用了.

推脱再三,心想分寸感还是挺强的,便说随便吧.

也算收到了可能是第一笔微信转账还是红包吧.

后来便是会问一些某司的情况和联系方式等.
出于职业道德,也就不方便多说什么.

想,大概就是当成一个活查询入口了.
某种程度上来说,也算毫不掩饰地坦白过头了.

接着的日常大概就是忙着想如何离开某司.
从一个火坑跳到另外一个火坑.

至于某天也终于更新了Linkedin.

想着当时帮进某司的某猎头也算把自己从无业游民的道路上拉了回来.
而自己连试用期都没呆满就跑了,于情于理对于他来说都太好.

尽管以自己的收入来说,对对方的佣金也造成不了多少损失就是了.
但请吃个饭应该还算必须.

虽然想到要两个人尴尬地吃还是有些头皮发麻.

于是,还是硬着头皮邀了约.
还好对方也答应了.

小猎头大概是看到状态更新通知便来问了问.
聊的时候提到了上面那位,便问能不能一起吃介绍她认识.
可以晚些到,说就是妹妹一起蹭吃的.

想了想,还挺拼的.
一来她不怕尴尬.
二来自己也算某种程度上送了口气,毕竟不用想着如何避免空气忽然的安静.
便说了好.

生活的戏剧性大概就在于本来三个人的饭局,当天对方有事,于是变成了两个人.
于是又变成了她谈工作生活倒苦水,这边只管听的局面.

由于地方离海边不远.
也就终于在海边走了走,坐了坐.

聊的时候自言自语地翻着手机问一些意见.
可能是气氛像闺蜜的情况,没知觉地冒出一句亲爱的你看觉得这个如何如何之类的问句.

瞬间的尴尬选择了假装没听到这句回了一下.

后面还是前面又问起了9点20故事的一些点.
可能自己入戏太久,编的感觉太真实倒引起了八卦剧的好奇心的原因.

一边听一边偶尔忽然噗嗤的笑.

大概可能各方面各层面来说挺典型挺有趣的一个故事吧.

心情微妙地好像在跟现任谈前任.

那晚过完的一两个月还是两三个月.
可能每周或者隔周会看个电影吃个饭什么的.
就好像真地在谈恋爱一样.

事实上,可能除了没有肢体接触确实看上去是那么回事.

应该是中秋的时候吃饭.
她问"你觉得现在是什么关系"
"你觉得呢?"
"在问你呀.那换个问法,你觉得男女之间有没纯洁的关系".
"有吧..."

大概就是回避了正面的回应吧.

某种程度上来说,不否认是在当作女朋友相处的.
但用她的话说,也没当是男的看.
大概,可能就是男闺蜜?

虽然说想和喜欢的人kiss之类的.
可能只是喝了点酒的关系.

不过也只能笑笑.

如果没有9点20的经历.
可能会回句要不借你亲下之类的.

毕竟牵牵手就像旅游.

但是没有.

因为不知道有没有/算不算放下.
或者纯粹只是根本不想再主动了.

假如是9点20这么说,至少以上是没有成立的理由的.

所以,除了笑笑还能怎样.

也所以想,能不能认真点.

毕竟小猎头也没什么不好.
差的可能只是自己的态度.

于是11月的时候她生日.
准备了个礼物,上面一个银手镯.
掀开下面是个钥匙卡住发条的星之所在音乐盒.

场景可能是二次惊喜和可能只有自己知道的寓意吧.

或者可能纯粹是把选择丢出去还是求解脱之类的.

大概就是又一次的"该做的都做了,该你了"之类的逃避选择模式.

她收到大概也还是挺开心的.
或者至少回应地挺开心的.

但生活的有趣点就在于,你不确定的事情,并不会因为丢出去了而变得确定.
或者说并不会变得结果显而易见.

后来越小猎头大概就是有各种事脱不开身.
朋友圈偶尔也对应的有各种事件照.

但于己来说,是如何已经无所谓了.

因为很奇怪也可能有些理所当然的有种解脱感.
自己这么做,就好像9点20忽然翻过去了.
小猎头也无所谓了.

就像某种意义上的贤者时间.

忽然的一种"能做的就做咯,结果怎么样其实不关自己事"的心态挥之不去.
也就可能从那时候起觉得无所谓了,有空构造负面不如想想怎么讲段子.

对于9点20,喜欢过或者可以说迷恋过.
但那个她真的是她么,还是喜欢又如何都已经无所谓了.

毕竟喜欢是一个事实,也只是一个单一的事实.
并没有其他什么衍生附加品.

对于小猎头,至少能编造出自己该做的都做了的理由.
就像她自己说的各种别人追她的有趣的事.
至少可以给个理由心安理得.

何况可能只是她当自己闺蜜,自己当她女友游戏的一种微妙的平衡.

事情本来是可以这么简单的.
或者本来就是这么简单.

今年大概跟小猎头接触了4次.

一次过年的时候礼节性地来问候.

后续两次大概就是年中换工作的时候点赞然后吃饭看电影了两次.

还有就是今天还是昨天吧,问要不要爬山.

大概主题就是失眠焦虑,家里催找男朋友,想回广州但深圳又还有留恋的东西.

坦白说,这算不算暧昧,事实是不是暧昧还是纯粹朋友间闺蜜间想倾诉一下.
这根本不重要.

重要的是,自己真地在考虑是不是暧昧这才是问题所在.

而问题的核心在于,自己是真得喜欢她了还是说考虑的是如何选立场面对的问题.

下午爬完山在她家.
依然谈了下这些问题.

然后忽然就觉得自己这样算不算渣男.

毕竟不管事实是什么.
再假设对方又这样心意的情况下,考虑对策的思路都不算是要解决问题.
而是想的如何保持现状.

尤其自己可能只是存粹享受约会这种游戏的情况下.
而不是基于有以后.

晚上她手机碎片.
Apple Store没预约了于是到街边小店修.

等的时候聊天.

更确切得说还是她问自己答的形式.

"心情不好能不能给个拥抱安慰下啊".
笑笑,看了眼转会柜台.
安静了一会,唉.

"好困,能不能靠一下啊".
在柜台挪了过去.
额头贴在右手手臂上.
然后左手翻开了群氓之族.

大概事实不管怎样.
想,已经是这么想了.










2017-10-18

关于overfitting

中午翻到篇论文,讲模拟人脑神经网络结构的.
其中有个地方提到了一个delay的概念.
大意就是神经网络力有个比较重要的特性就是信号传达的延时.

一个马上的联想就是artificial neural network/ANN.

把某一个粒度的神经网络信号传播延迟考虑一个time frame/tick之类的东西.
那么每一个信号的释放和响应就存在一个t的延时.
对应于ANN就是一个activation delay了几个cycle/batch之后再参与进来.

类比LSTM的话就是类似于
c_t = \sum_i f_i(c_{t-1}*W_i)的形式.

但是拆开来动态一点想的话.
在每一个cycle其实就是一个确定的graph的dataflow的东西.

而不过把不同delay按照某种基本cycle单元分组的话.
也就是做类似周期频率的等价意义的话.
最终的实际dataflow就可以考虑为各种周期的graph形态的dataflow composite而成的.

类似于傅立叶变换.

反过来说,每一个简单的dataflow就代表了某种类似feature或者说决策的东西.

于是把ANN的结构考虑为一组并列的decision tree的形态的话.
每一个cell其实还是类似于某种策略选择.
只不过具体意义是相对隐式的.

那么,如果把已知的一些可解释的描述变量放到一个傅立叶变换里,拟合出对应的参数的话呢?

一种结果可能就是跟样本的多样性有关.

因为毕竟拟合代表是某个集合的summary特征.
除非说涵盖了多数情况,不然overfitting是难免的.

于是一个问题就是表达式的外延性或者说类似out of vocabulary/generalization的问题如何定义呢?

generative adversarial的考虑是negative sampling.
直觉上这是类似于bounding/constrain的做法.

即是定义出一个类似函数边界的东西.

某种意义上来说可以理解为是一种定向的prune.

underfitting的问题可以从拟合的准确度来比较直观地看到.

overfitting本质上来说是过多地capture了training set的一些细微的差异.

考虑实际上是存在一个确定的多项表达式描述预期函数的.
对于一个ture negative的input来说,实际上对于这个具体的表达式而言应该是被接受的.
而拟合函数给予拒绝的话说明从表达构成来说,比真实预期函数多了一些不必要的余项.

形式上来说,regularization/bias是有可能去掉这些项目的.
当并不确切.

因为理论上上说,这个效用只在于不同的拟合之间可以作为一个参考.
在一个拟合内,其实是可以理解为多input的一定程度的transform而已.
实际还是存在某种deterministic的.

如果是一个符合某种分布的区间值呢?
也就是bias是一个每次regression的时候是概率性的有一定范围bound的值呢?

因为服从一个既定概率分布,所以期望应该还是确定的.
对于单个update的收敛性的性质应该不会有什么影响.

对于整体呢?

如果真实的表达式是

G=\sum_i g_i(x)
的话
拟合为
F = G+Bias
->
G = F - Bias
->
G = \sum_i f_i(x) - p_i*bias

从形式上来说,跟不用概率分布是一样的.

所以这也不能用来衡量是否过度表达.

实际上,把negative sampling换个思路理解的话,其实是某种副作用在减少overfiting.
因为包含的bounding约束,可能一定程度上会使得出来的余项相对较小.

如果不能减小的话,说明negative sample里也能capture到这些余项所代表的特征.
因为形式上是
maximize(positive) + minimize(negetive)
->
w*x_n + b_n + n_p
->
reminder = b_n + n_p

reminder不减小的话,就因为这b_n和n_p都有贡献.

2017-10-15

概率性理性

考虑一个双方具有完全一致策略侧重点的博弈.

所以完全一致策略是指对于一个行为的评价函数一致.
也就是对于同一情况具有同样的决策选择.
即某种意义上的完全"理性"的"可确定性"的情况.

那么这种情况下的博弈是可预测的么.

并不一定.

因为决策函数可能并不是一个确定性的函数.
而是觉有某种随机性/随意性.

这样的话,在给定条件constrain和objective的情况下,并不一定存在确定的求解路径.
因为每个条件分支的概率分布觉有不确定性,从而是得代价计算具有不确定性.
即对于一个策略没有对应的稳定的评估函数.

于是一定传统意义上理性假设并不一定能带来预期上的所谓最优解的存在.

换个角度想.

所谓的理性假设不过是在某种特定的"世界观"之下,对于一个行为回报的解释函数相一致的问题.
也就是在给定constrain C的情况下,A基于某种策略对B进行predicate的时候,跟B对自身进行predicate的结果具有一致性.

类似地,不理性的情况即使predicate函数存在不确定性或者说不存在.

那么,合并一下的话,理性就是不理性的一种情况.
即后者的predicate的不确定性是0%的一种特殊解.

这样的话,一个泛化的描述就是对于一个博弈而言,以其中一个参与者的立场来说的话.
它的cost function是一个概率性的函数.

而这个概率性函数的性质要么是有某种确定性的概率分布.
要么是一个不确定性的函数分布.

前者因为确定性,在重复的情况下存在一个确定的预期收益.
而后者因为不可重复性,带来是完全的随机性的收益,从而是的决策不具有收益函数支持的确定性特征.

于是对于后者来说就不存在所谓的最优解.
或者说给定一个条件下的一个dominated的strategy是不存在的.

发过来用这个来定义所谓的irrational的话呢?

比如当你喜欢一个人或者喜欢一个事物.
然后投入不可理喻的时间和精力的情况,改如何解释呢?

之前的一个思路是在一个rational的valuation函数之上加一个bias.
也即是隐含假设存在一个确定性理性决策的情况.

换成非确定性,也即是概率分布的情况的话.
实际的行为就是某种概率区间内的解的具体体现而已.

而如果用非确定性的概率分布来解释的话,就纯粹是whatever happened,happened的meaningless了.

从相对没有那么悲观的角度来说的话,认为实际是有某种概率性分布的话,理论上还是存在一种可计算可能的.
毕竟,这种概率决策树虽然无限拆分,但总归存在某种可描述的模式.

兴许还是存在可解的情况的.

2017-09-09

近似的精确性

对于一条曲线y=f(x).
给定区间R \in [x_left,x_right]内,df(x) = dy恒定的话.
则可以表示为y=f(x)=Wx+b的形式.

于是扩展下就是对于任意一条曲线,可以认为是由一组这样区间的f(x)构成的.
也就是分段的线性组合/集合S(f)构成.

考虑S(f)是个有限集合.
y=f(x)就可以表述为
y=f(x) = a_0*f_0(x) + a_1*f_1(x) + ... + a_n*f_n(x)
其中f_i(x) \in S(f),a_i = {0,1}
->
y=f(x) = \sum a_i*f_i(x)

这个形式就有限眼熟了.

如果把a_i = {0,1}放宽一点,为[0,1]之类的话.
a_i = sigmoid(f_i(x))
也就是所谓的activation function的形式.

或者更换下符号
a_i = sigmoid(g_i(x))
->
y=f(x) = \sum sigmoid(g_i(x)) * f_i(x)
->
y=f(x) = \vec{sigmoid(g_i(x))} * \vec{f_i(x)}
->
y=f(x) = hidden(x) * output(x)

也就是说,某种程度上来说,multi layer/deep neural network更像是一组分段函数描述.
通过一种局部的简单近似取描述一条整体复杂的曲线.

从这个角度来说,DNN并不能算得上说是一种智能甚至说算法.
而只是一种某种形式的经验的累加.

它可以逼近现有已知的各种事实.
但对于事实外或者预见外的,就可能并不能存在所谓的有效性.

这里隐含的一个论调就是,这个世界的运作规则是有一些简洁有力的描述构成的.
就像y=ax+b足够描述一条,而不是把所以点"罗列"出来才能表达一样.

而且这里更深的一个隐含假设就是这种简洁的基本描述是有限的.

也就是说,只需要有限的几条公式就能够完整地描述各种状态和存在.

反过来说,即使这个世界确实是由一些既定的数学来描述的话.
如果这种数学的存在性是无限的,那也是没有意义的.

因为可能并不能通过罗列S(f)的方式来具体确定地描述一个东西.
而只能在一个子集内有限地逼近真实.

或者可能需要一种结构去描述这种无限状态构成的确定的具体概念?

就像泰勒展开一样.
如何系统地描述这种无限的表述空间.

或者可能这就是这个世界并不是某种模拟的结果的证据.
因为对于这个展开式,永远存在一个可以继续展开的无穷小精度.

也就是说,永远存在某种未发现的规律剂量,去表面还有未知的空间.

就像从引力印象一样.
在理论发展之前,这是一个不会被测量和考虑的某阶无穷小因素.
而在理论框架之后,又有了测量和确认的形式方式.

这么想的话,好像DNN也不是那么不堪.





2017-07-23

制度与拉格朗日乘数

晚上看到18if在B站的第二话选择性下架了.

然后追述了下原因看到知乎上的这个话题.
https://zhihu.com/question/62443727

然后想了几点.

如果把这些回答/猜测/解释作为广电的一种官方意见放出来的话.
是一种什么样的感受.

这里的一个点其实是自我审查与审查的区别.

形态上来说,自我审查和审查其实算是同一类决策思路.
不同的只是一种半主动半被动和主动的区别.

自我审查被人诟病的一点就是审查范围的无限制和边界的浮动.

当然,这一点可以说是审查制度本身的主观性太强客观尺度不成文造成的.

但从客观上来说,也反映了审查不管是主动还是被动都存在一种尺度飘忽的问题.

也就是应该审查什么的问题.
或者说什么是应该被审查的问题.

审查的目的是什么呢?

某种程度上来说,审查是一种对内容的剪裁技术.

广义上来说,导演的剪辑以及重剪版本都可以算是一种审查.
目的是对内容的重新规划和限定.

就像东邪西毒原版和后来的重新剪辑版一样.
前者是用零碎表征零碎.
后者则是纯粹的故事线索梳理.
所试图呈现的侧面和重点的区别.

当然,用这个类比多少是有些诡辩味道的.

但不管怎么样,内容操纵这点是共同的.

那么内容操控的目的是什么呢.

像剔除血腥暴力色情等.
具体来说是剔除什么呢?

这个某种程度上来说也是伪命题.

因为就表现手法和目的来说,有些恰恰就是为了表现这些想要控制的内容.

如果说剔除这部分算是制度正确的话.
那么对于那么并不以表现血腥暴力色情等内容为目的,而只是恰巧使用了对应手法的类别呢?

退一步来说,也可以说因为不是必要手段,可以使用其他表现方式.

那么这里有什么问题么?

问题在于执行的尺度.

就色情来说.
什么程度算色情呢?

就好像某段子一样.
内衣和泳衣的区别界限.

这个虽然调侃意味比较浓,但也多多少少能说明一些问题.

由于存在个体的接受广度深度方面的差异,人与人之间对内容的容忍和划分程度也是不同的.
即使是放大到人群当中,群体之间的差异也是明显的.

就像所谓的二次元文化,甚至于这些二次元文化下面的各层次的次级文化之间,也常常有冲突.

所以客观上来说,可能并不存在一个所谓的广泛的社会道德层面的尺度agreement.

有人觉得分级制度可能解决审查问题的.
需要考虑的矛盾点也就在此.

纯粹以年龄层面来分级的话,对于各种不同的表现手法适用度是有限的.
而且对于作品思想的表达接受能力,可能并不跟年龄有直接关系.

如果使用含代考核评测性质的分级制度的话,可能又不是一些群体认可的符合普世价值的解决方案.

因此,分级制度的矛盾点在于,制度可以很好地解决内容接受度和定向传播.
但问题在于,它的核心在于将如何控制内容的定向传播转变为了如何对内容进行定向分级.

一个类似纯粹的概念变换.
并没有提供具体真实的解决方案.

回到审查本身.

审查的目的是一种内容控制.
从形式上来说,是一种过滤机制.
过滤本质上来说,是一种选择性的内容许可.

借用generative adversary network的思路的话.
其实就是用审查过滤这种negative sampling去辅助objective function的拟合.

也就是说内容审查和过滤只是作为内容定向的一种实现方式realization而已.

反过来说,实际目的其实是定向的内容输送.

中立地说,纯字面意义的中国梦正能量爱国情怀等并不是什么难堪的东西.
如果社会确实这个所述的话也并没什么太大的问题.

那么,这里的问题冲突在哪里呢?

一方的强行灌输也就意味着一方的抵抗.
抵抗的点无非在于不切实际或者说有些自欺欺人或者其他因素带来的不现实性.

某种形式的所谓的人民群众日益增长的物质文化需求与落后生产力之间的矛盾.

形式上来说.
就是如何将两种objective function约束在一起求解的问题.

比如要复兴国学礼义廉耻,那么在教育层面作为一种升学指标.
解决人口结构附带的社会抚养问题,那么可以将社保公积金组合加在房地产方面.
科研自主能力方面,就附带地提升国内期刊的地位和重要性等.

所以,与其说是一种objective function的糅合.
不如说是一种政治经济学上的拉格朗日乘数.

在一个社会国家层面,给定一个目标之后.
剩下的不过是一种诱导变化.


2017-07-16

信用货币与计划经济

考虑货币作为一种信用媒介.

比较传统或者所古典的理论当中,货币是当作一种所谓一般等价物处理的.
也即使作为交易当中的一个通用中介符号.

现代理论中,货币的产生是作为一种信贷扩张的结果.

它跟传统的区别在于,前者的产生或者说需求数量依赖的是交易的频率/频度.
或者说货币乘数周转率之类的.
体现在交易过程中的出现频率.

而信贷理论的基础是一种借记关系.
或者所谓的记账式.

一个可能比较贴切的例子就是所谓的月饼券.

在一定周期内完成的纯记账式的债务权利交割.
至于里面有没有涉及到具体的实物清算或者说参与,则不在理论框架范围内.

这里有一个问题.

那就是这种定义下的货币的存在意义.

考虑AB两方参与的一个交易.
最后的结果无非是AB交换一下账目所有.

"货币"在里面的作用不过是一个价格计量性质的单位.
把它去掉并不会影响交易的成功与否.

本质上,就是原始的以物易物.
放在任何双方参与的合理理性的交换行为当中,这种交易里面的"货币"存在意义是很微弱的.

因为在这种情况下,都可以规约回两两交易的对等交换情况下.

这种情况下的货币不过是一种公共计价方式.

但公允么?

考虑物品X从A到B到C的一个交易链条.

以物物交换的角度看,不过是X的所有权由A->C的一个转换过程.

考虑.
A->B的交换是B以一个溢价Y得到的.
即在A->B的实际交易价格是X+Y.
B->C的交换是C以一个溢价Z得到的.
即在B->C的实际交易价格是X+Z.

那么考虑,X+Y = X+Z
->
Y = Z么.

不一定.
因为B C对溢的private valuation并不总是相同.

也就是说,如果把货币考虑为这些信用交换过程中的一个计量单位的话.
可能并不具有任何现实意义.

因为价值估计是一个个体差异相当大的东西.
也就是说,这种计量并不具有公允性.

也就是说,存在C直接跟A交换X的话,付出的要比通过B交换来得少或者多.

这个会有什么问题呢?
只要交易始终是你情我愿的,那么这种计量浮动/偏差有什么影响呢?

考虑公允价值的市场性质.

公允价值或者说具体价值是作为一个某种特定商品交换的计价的一个体现.
简单说,就是一种类似的平均价格的存在.

它的作用是为同类交易做一种计量锚定作用.
约束同类交易尽可能地在同水平附近浮动.

在纯信用记账的范畴内,这个问题在于平均水平是受制于具体的交易的.
也就是说,这个平均价格是以某个时期内的实际发生的交易作为一个参照系得出的.

一个直观的例子就是股票市场的交易价格的形成.
里面价格的波动除了受买卖双方的预期影响之外,更多的是由实际的买卖行为决定的.

一个极端的例子就是,即便说都预期某个股票的价值应该低于某一点的话.
但只要有足够的买入流动性,也依然能够推高价格.

所以,如果以信贷作为货币理解的基础的话,那么流动性是一个隐含的必要因素.

另外一个极端的例子就是,当市场上某种产品只有一次交易成立的话.
那么其价格就有可能被认为是一种公允/平均价格.

这点是跟传统的一般等价物概念有很大区别的.

某种程度上来说,货币在这里不过是一个复杂的记账传递网络里的一个数值化体现.
它并不需要一定是对等的,或者说反映供需关系.

本质上来说,有点类似于一个单向的拟合预测函数.
基于过去的数据给出当前的一个估计.
至于是否符合实际的曲线,那就是另外一回事了.

然后基于这个思路考虑一下信贷扩张问题.
或者更确切地说固定资产或者说房地产的问题.

一个成交就意味着对市场公允价格的一次加权调整.

以资产证券或者数值化的角度看的化,随之而来的就是同等/同类资产所有者的一次重新计量过程.
也就是说,但一个200w的房子以300w的价格成交的时候,拥有同等同类房子的人资产就增加的100w.
换算成百分比的化就是50%.

那么,以记账方式考虑的话,全社会的货币就相应地在账目上增加了50%.
具体的实现方式可能是抵押/在抵押贷款等,创造出新的货币账目.

当然,实际是并不是所有的增加账目都会马上变现进入流动.

但从纯账目上来说,以公允价值计量的话,就是相当于再发行了50%的货币.

而也正因为并不是所有的新发行都会马上变成现金流进入传统意义的流通领域,所以才没有通胀的事实感觉.
某种形式的滞后效应.

考虑变现的一部分.

如果把没有进入流通的"增发"考虑为实际的增发的话,即假设只有N%的进行了变现.
那么流通领域就增加了这N%的现金.

对于这部分人来说,就是实现了固定资产向现金资产的一个转换.

假设市场永远是滞后的或者说变现的永远是少数一部分人.
那么这部分人相当于在不断的自行发新钞.

因为实际上的效果就相当于把账目推入流动领域.

那么,能无限的增发下去么?

实际上的货币供应量还是受制于对应的货币政策的.
也就是说,这里存在一个转移的上限.

因为上面的增发游戏本质上是对现有资产负债表做的一种定向腾挪.
由买房者向房产所有者做的一个现金和固定资产的交换.

一个极端的结果就是代表流动性的现金资产集中在一部分人手里.
而另一部分人持有的是等额的低流动性资产.

也就是一种事实上的一部分人有资产而无现金.

于是,考虑经济发展的信贷扩张理论.

它要求的是通过提高负债率,提高消费周转的效率,进而带动经济链条的发展.

然而上面的无流动资产的情况则是,扩张信贷的对无现金人群并无任何实际刺激.
而对于现金持有者来说,边际效用是递减的.

因此这种情况下的一个必然现象就是扩张的疲惫或者说所谓的滞涨.
即无论如何宽松,也没办法再对经济周转效率产生积极的影响.

而由于缺乏现金,各个资产层级之间理论上就存在一个"增发"能力的上限.
也就是说,由于资产数量的差异,和现金的缺乏,使得到了阶层内的一定位置之后.
拥有的现金不在具有往上一层级靠拢的趋势.

或者说,存在一个"增发"能力的效率/增长率差异带来的曲线上的分段函数表征.
即所谓的阶级固化.

这会有什么问题么?

由于存在现金流动资产的层级隔离,而由于没个层级内的现金资产的边际效用是递减的.
那么理论上就存在一个分布使得每个层级的天花板层级对"增发"的追逐动机依次下降.

这样的话,动态地考虑,层级内和层级间从长期来看是不太可能有一个稳态的.

所谓的经济周期变动.

回过头来.

这里问题的本质是信用机制下面,货币记账的不对等性造成的.
即脱离了一般等价物锚定的货币,更多的是受到各个零碎交易结果影响的.

而且由于交易的不对称性和人的决策最优解定义的差异性,整个动态系统基本上是很难可控可预测的.

所有,某种程度上来说.
求解于计划经济的某些思路,也不是一件离谱的事情.

2017-07-01

自私倾向

前两天看到的一个现象.

对于这样一张损益表:
+---------------+---------------+---------------+
| choice | red | black |
+---------------+---------------+---------------+
| 6 red 0 black | +64 | 0 |
+---------------+---------------+---------------+
| 5 red 1 black | -4 | +64 |
+---------------+---------------+---------------+
| 4 red 2 black | -8 | +32 |
+---------------+---------------+---------------+
| 3 red 3 black | -16 | +16 |
+---------------+---------------+---------------+
| 2 red 4 black | -32 | +8 |
+---------------+---------------+---------------+
| 1 red 5 black | -64 | +4 |
+---------------+---------------+---------------+
| 0 red 6 black | 0 | -64 |
+---------------+---------------+---------------+
给定6人决策,red/black分别为对于决策的reward.

比如5人选择red,1人选择black的话.
结果就是选择red的分别得到-4的reward,black的得到+64的reward.

对应的最终winning是maximize reward并且有reward >= 0的约束.

这个本来觉得应该是没有什么悬念的.
选择black是相对唯一的理性选择.

因为选择red的话,最好的结果也只是最后equally rewarded,没有一个winning存在.
而对应的,这个是选择black的最差结果.

尤其如果以等概率考察等话,black的 strategy期望正的.
即使考虑到有概率偏差.
Earning = W_1*64 + W_2*32 ....
->
Earning = W_positive*Positive_constant + W_negative*(-64)
->
Earning_black = W_positive*Positive_constant + W_negative*(-64)
Earning_red = W_positive*(-Positive_constant) + W_negative*(64)

要使得red dominate black的话,就需要
Earning_red > Earning_black
-> W_positive*(-Positive_constant) + W_negative*(64) > W_positive*Positive_constant + W_negative*(-64)
-> W_positive*(-Positive_constant) + W_negative*(64) > 0
-> Earning_red > 0
这就是只有cooperate的时候才优于black,但此时并不存在满足winning情况(ordered reward)的可能.

所以,这个直觉上来说应该是没有人会选择red的.

但实际看到的结果是首轮甚至第二轮都是全员选择red的情况.

这个就有意思了.

补充一点就是,这里其实还有个隐藏要素.
就是,在某几轮的reward会有penalty/amplify.
但这个对于基本的逻辑不会有什么实质影响.

这里大概问了下对应人员的思考思路.

一个点就是这里的strategy的focus点在于先保障最终reward>0这点.

也就是在给定的有限轮博弈中,先试图保障一个比较安全的正向收益,然后在择机削减对手.

所以这个思路实际上是 对winning条件加了一个新的约束.
至少让social reward>0.

这点在后面的培训鸡汤解释中反馈除了这歌隐含假设.

这样的话,对应的social损益表就变为:
+---------------+---------------+
| choice | social reward |
+---------------+---------------+
| 6 red 0 black | +384 |
+---------------+---------------+
| 5 red 1 black | +44 |
+---------------+---------------+
| 4 red 2 black | +32 |
+---------------+---------------+
| 3 red 3 black | 0 |
+---------------+---------------+
| 2 red 4 black | -32 |
+---------------+---------------+
| 1 red 5 black | -44 |
+---------------+---------------+
| 0 red 6 black | -384 |
+---------------+---------------+
单纯看这个的话,选择red的gradient是偏向对于reward positive的.

也就是单纯只看social optimal的话,选择red应该是属于dominated的decision.

考虑复合情况.

选择红的动机在于用personal winning去tradeoff social optimal.
放一起就是
+---------------+---------------+---------------+---------------+
| choice | social reward | trade off + effective |
+---------------+---------------+---------------+---------------+
| 6 red 0 black | +384 | +64 + +448 |
+---------------+---------------+---------------+---------------+
| 5 red 1 black | +44 | -4 | +40 |
+---------------+---------------+---------------+---------------+
| 4 red 2 black | +32 | -8 | +24 |
+---------------+---------------+---------------+---------------+
| 3 red 3 black | 0 | -16 | -16 |
+---------------+---------------+---------------+---------------+
| 2 red 4 black | -32 | -32 | -64 |
+---------------+---------------+---------------+---------------+
| 1 red 5 black | -44 | -64 | -108 |
+---------------+---------------+---------------+---------------+
| 0 red 6 black | -384 | 0 | -384 |
+---------------+---------------+---------------+---------------+

这样的话,对于某一轮来说的game setting情况就是.
一个共同的social reward值,和一个差异化的 personal reward分布P.

对于一个分布P靠后的参与者来说,是没有修复social reward的动机的.
因为让social reward>0并不会对winning有任何帮助.

而同时,由于选择red的gradian是趋向于正的.
因此,这时候依然会是选择black成为一种dominated的strategy.

这样的话,动态地考虑,只要出现了一个暂时的winer的话,其他人就会迅速地切换到black strategy.
而在没有winner的时候,black strategy本身就是一个dominated的情况.

因此,即便是加入了这个social constrain,最终的趋势也依然是负收益.

也就是说,即使是加入了这个约束,理性情况下,也不会有人选择red strategy.

但事实就是出现了不但存在并且是全员red的情况.

即便是考虑到有轮数限制,但从上面的策略上来说,也依然不存在选择red的情况.

所以这大概就是为什么人类社会比较复杂难以描述的原因.
而且考虑到即便都是理性的,由于各自的模型和隐含约束不一定一致,也可能导致结果的不确定性和偏差.

于是,从这个角度上来说,social optimal本身就算是一个伪命题.
形式上来说,是不太存在可解性的.

2017-06-11

纪念碑谷的一点感想

最近在路上补了下纪念碑谷.
总游戏时长可能也就五六个小时吧.

感觉与其说是一款解谜游戏,不如说是某种形式的故事本.

因为严格来说,它讲究的并不是实际的解谜方式.
就大多数关卡场景来说,每个机关设计小段落还是比较明显的.
每个阶段基本就是一个唯一解的机关触发,并不存在一个比较复杂的搜索路径.

如果是作为一个解谜游戏来说,要点设计未免过于单纯.

那么它让人觉得好或者说眼前一亮的点在于什么呢.

也还是机关的设计.

只不过立足点不是复杂性和组合度.
而是一种小心思的共鸣或者说分享感.

每一个机关的触发更像是帮着拆解和介绍眼前的这个盒子的小趣味.

可能也并不是就是要讲述一个什么故事.
而是拿着小孩子分享自己的想象中的好玩的小玩意的感觉.
机关点的设计反而是一种把这种心思和切面连贯起来的东西.

去掉的话可能也并不影响感受.
因为享受的可能就是那种作者某种形式的娓娓道来的结构解说.

所以某种程度上来说它更像是某种形式的作品欣赏.

像看一幅画或者一个故事.
你享受的是作者想要表达的内容或者某个瞬间和场景.

比如某些对星夜之类的绘画光影的动画视觉化表演那样.
通过某种手段把作者的创造思路以及对某种表现形式的不同寻常的表述方式.

把光影的流动动态感静态化的手段.
也就是作者对动的某些特征的感受的本质感受还原具象化的一个过程.

就像某几个关卡对空间组合的方式一样.
在看的是另外一个侧面是什么,不同侧面又是怎么构造连接在一个整体上的.

它不见得有多精妙.
但是就是有一个人在很得意很自信也很不卑不亢地给你介绍他认为的有趣的东西.

某种有点微妙的交流方式.

只不过用的是光影错位,盒子结构,空间立体感等这些元素.
表达的不是什么特定的意思或者目的.
而要的是对这些元素的某种会意的笑.

所以顺着这个思路模仿的话,大概就是找某些自己觉得有趣的点然后通过安插一些机关导引,把这种你觉得有趣的地方展示出来.

就像如果想要展示韵律的某种微妙和谐感的话,可能是构造一系列短小的机关,完成一段段的小和弦,然后最后组合起来.

又或者像剪纸,以路线的方式渐次展开折叠然后完整图的方式.

或者水流之类的方式,以流速转折等表现书法之类的横折点钩的趋势意蕴.

或者水彩之类的一些技法的巨象化表达.

本质上来说,就像是一种各自技法和手法的科普介绍.
只不过是以机关设置的方式作为节奏控制而已.

所以你很难说这是一款游戏.
也很难说它是不是好玩.
甚至于说谈不谈地上解谜/游戏性.

如果不是作为一个现象出现的话,也很难说会怎么样.

或者说跟它思路类似的东西可能并不少.
但只有它成为一个现象.

也很难说,即使是它也可能并不能持续太久地流行.

不是说不够好而是可能没有带来新的感受点.

就像你知道它会给你带来什么感受,有什么预期.
甚至于你知道它会给你一些有趣点的讲解和带来一些愉悦性.
但可能也不会刻意地花时间去实际感受.

因为有预期.
所以很难超出预期给人一种耳目一新的感觉.

反过来说,他之所以有话题性,可能只是恰好让人知道了另外一种新的思路去设计和构造/ 表达某些东西.
而一旦这种方式被人所了解了之后,剩下的可能就没什么特别了.

2017-06-05

由长尾展开

重新考虑下长尾.

通常关注的是基数.
因为隐含的假设是单位价值细微.

比如千次几毛的PV价值.

但换个角度,实际上考量的还是如何提高总量收益.

千次PV几毛跟单品交易几百的区别大概是7~8个零的数量级差异.
换算回来的话就是同等的交易单元/用户数.

这里基于的是个体贡献的价值或者说付费意愿和能力约等于零.

那么考虑,如果付费能力提高几个数量级的话,相应的需求用户基数就没那么大.

就PV而言,从千次几毛到每次几块,那么这里就是5个零的数量级.
对应的需求PV/付费用户就可以从千万到百的级别.

这个是什么呢.

比如某B站的新番承包机制.
或者有如现在喜欢谈的订阅或者说打赏.

又比如早已在网游中成熟下来的免费模式的VIP制度.

这里的一个动机可以理解为对某个概率分布区间的用户价值的一个提升作用.

一个直白的理解就是,原来没千次的PV贡献价值之所以低是因为并没有给出更高的用户价值投入方式.

所以这个思路推广一下的话,就是对给定各种区间/阶级用户的一个成本投入提升.

某种程度上来说,就是一种价格歧视的重新应用.

所不同的是,价格歧视基于的是一种信息不对称关系.
而在这种长尾总量提升的情况下,可能更多的反而是来自于信息透明或者共享.

就像B站赞助和打赏赞赏等,可能有相当一部分动机是在于付费是为了服务的持续性考虑.
即使这种长久运营需求并不是一种必需的契约关系,而完全是自愿的行为.

所以,这里可能是某种所谓定价权的反转变化的思路.
即价格由卖方提供转变为买方根据个体价值体系做定夺.

也就是老话题,private valuation.

综合一下的话,就是
value = w_1*seller_side_valuation + w_2*buyer_side_valuation.

传统的讨价还价就是sv(seller_side_valuation)和bv(buyer side valuation) 就趋近于市场价格,也就是w_1和w_2接近1/2的情况.

一般长尾则是w_1放大,而w_2为零.而sv和bv为何并不太有定性意义.

而买方反转定价的情况就是w_2为1的情况.
也就是在一般长尾的基础上兑现了溢价买方的价值.

那么,存不存在或者说w_2跟w_1类似放大的情况呢.

大概就是把bv做阶级拆分的\sum_i w_2_i*bv_i的形式了.

于是类似的,把价格歧视考虑进来就有
value = \sum_j w_1_j*sv_j + \sum_j \sum_i w^j_2_i*bv_i
简单化描述就是
value = w_1*sv + \sum_i w_2_i*bv_i.

这里跟讨价还价的区别在于,前者针对的是有公允价值或者说容易有相当客观定价的情况.
而svbv针对的则是一种没有客观定价,或者说客观定价没有意义的情况.

考虑下最大化的问题.

像赞助形式,如果sv提高到一定程度,那么就有可能bv 全为零.
一个例子就是会员限定的制度.

所以这里的bv_i应该是sv 相关的一个函数.

从图形上来说,\sum_i w_2_i*bv_i应该是一个类似于以sv 为横坐标,人数为纵坐标的密度曲线.
借鉴供需/边际曲线的思路的话,就存在一个均衡点时的左侧过零点的sv曲线,与bv曲线交点所构成的面积最大.

从拟合的角度来说,其实就是i+1维的linear equation.
只不过实际情况是bv_i 也是未知的.

或者简单点把w抹去.
value = sv + \sum_i bv_i + adjusted.

2017-05-13

关于word2vec的一点想法

考虑word to vector的intuition.

给定两个词,如果存在某种意义的相似性的话.
那么,这两个词对应的vector representation就具有某种意义上的近似.

tensorflow里给的example实现对这个近似的定义是cosin值.
直觉上来说,就是给定两个向量在某些维度的方向指向上有着某种趋同性.

从embedding的角度来说,假设对一组词有着某种未知的词性/词义等的归类方式的话.
这种cosin趋向性实际上就是指向的这个embedding的某些维度了.

考虑如果用L2 distance来定义similarity.
那么它表示的则是这些词对应的点具有一些cluster性质.
而这些性质有什么含义,则是相对拟合过程所用的loss function的意义有关的.

因为从结果上来说,它对应的是embedding的各个维度之间都要求只有细微的差别.

如果出来的结果对应的vector不是一个稀疏表示的话,可能并不能收敛地很好.
或者说结果有意义.

所以,从这个侧面上来说,可能logistics regression比较合适.
变成类似多label的classification,从而达到类似一个binary encode的vector形式.
对应的1/0则表示相应embedding的dimension是否具有对应特征的一种标识.

这样的话,对于结果的一种可能直觉上的解释就是类似某种词性划分.
因为在这种情况下,对于不同的词可能会对于到同一个vector形式.
或者在某些维度具有重合性.

于是反观cosin形式.

cosin形式除了维度指向之外,还有另外一个信息就是长度.

直觉上来说,类似长度但维度指向不同的vector,实际上是处在一个hypersphere上面的.

也就是说,理论上,如果构造合适的loss function的话,是可以让最终的vector包含更多的信息的.
比如cosin similarity作为词性,长度作为词义或者对应的使用场景等.

实际上来说,这个vector对应的就是个2-D的离散feature组合了.

然后考虑loss的构造.

tensorflow的example实现使用nce loss,noise contrastive estimation.
大致就是在minimize原本的cosin的时候,加入一个negative sample项,做类似adversarial的目的.

因为如果没有这个negative的话,一个可能的最终解就是所有vector具有同样的值.

所以某种程度上来说,是一个既要overfit,又不要overfit的过程.

直觉上来说,就是把一些vector move together的时候,separate the other.

大致看了下tensorflow nce的negative sample应该用的是log uniform distribution.
按照这个概率选取一些作为penalty.

所以,理论上来说,这个adversarial项如果选取的不够好的话,结果可能也就不会很理想.

比如training set里都是些垂直领域的词,从人的角度来说都具有类型的词性词义等.
但可能adversarial的选取大概率的是这些相近的词类.
那么结果自然是一直被penalty,loss收敛不下去结果不理想不stationary.

而tensorflow的恰恰好是高词频的会更容易被作为adversarial.
所以适合的是topic/context比较多样化的场景.
这样才可能比较好地被"cluster".

还有一点就是tensforflow里word pair/skip gram model的生成方式.
predicative pair是通过一个skip window控制的.
也就是选定一个词,然后随机地从前后一定范围内选取一个词作为predicate.

这样的话,考虑长句松散语意和短句紧凑语意风格的training set的话,结果应该也是有很大不同的.

如果行文风格比较短小精悍的话,可能词组配对频率分布会比较平坦.
这样的话按照原有的loss来做的话,结果可能就不太好了.

考虑如果是强行生成所有组合.

那么这些组合实际上暗含的信息就是任意两个词之间co-occurrence的概率.

在最终的vector space里,cluster的vector之间就是彼此具有类似的context的属性.

因为两两之间在共同出现的频率差不多,也就一定程度上地说明在文本的使用场景具有某种长度的相似性.

当然,可能最终还是相当程度地会收到adversarial的选取方式的影响.

有可能避免negative这种不确定因素么?

如果对一个batch的同一个feeding sample多做几次gradient decent的话.
直觉上就是让当场的sample更靠近一下.
期望的是通过这种reinforce变相地离其他sample更远一些.
然后如果是确实高频出现的话,同样的reinforce会及时地回调.

形式上来说,就类似于做了一个基于频率的倍数放大而已.

并不一定有什么用.

考虑下entropy.
对于给定的training set来说p(x)是确定的.
对于定义
entropy = p(x) * log(1/p(x))
对于词x,以及对应的相似词y有
entropy = p(x,y) * log(1/tanh(similarly(x,y)))

通过minimize这个entropy的话,会是什么结果呢?
形式上来说,它可能等价于
entropy = W(p) * similarly(x,y)
一个跟固有概率/频率相关的相似度.

那么对于低频的pair来说,w->0,GD的过程可能改动不大.
但对于高频的pair,GD的过程就可能会做相对幅度的变动.

也就是直觉上的对于低频pair不做改动,而仅仅对高频部分做调整.

当然,实际怎么样就是另外一回事了.






2017-04-16

关于确定性

seq2seq的intuition某种程度上来说就是把两个vector拟合出一个映射关系.

或者说任何向量化的计算抽象了说都是拟合这种映射关系.

所不同的是像machine translation的recurrent neural network/long short term memory.
提供的是一种position相关的调整策略.

因为从语言侧面来说,翻译的一个思路是两种语言之间语义指向的别称之间的关联关系.
也就是所谓的基本字词的转换关系.
而语法只不过是一种arrangement的方式.

对于表意来说,怎么放置其实更多的是一种约定俗成的关系.

所以简化一下就是两种语言的意指之间的对照关系.

于是,通过LSTM等具有位置调整功能的组件把两种语言关联到一种通用的"语法"结构下面,也就很自然而然了.

RNN系某种意义上来说,对于向量本身就像一种elementary operation.
简单地对向量的唯独做类似行交换的reprojection.

它跟普通的matrix transform的思路区别在于,这种纬度切换面向的是单个的向量本身.
而不是一个操作apply到所有向量的同一纬度.

所以,这个的intuition更像是一种pattern extraction.

CNN也类似.
如果把RNN像CNN一样排练,或者把CNN的convolution layer看出某种形式长度的LSTM的话.
pooling+rectifier也就类似于某种位置转换来达到某种pattern的align.

考虑回两组向量的拟合映射问题.
或者说去掉拟合连两个字.

给定任意两组向量和之间的一个映射关系,定义这个映射关系为一个operator.

于是,一个例子,比如整数加法,或者所谓的group.
1+1 = 2 就是[1,1] -> [2]
2+3 = 5 就是[2,3] -> [5]

那么同样地,可以定义另外一种operator.
使得
1+1 = 9 也就是[1,1] -> [9]
之类的.

从group theory的角度来说,只是某些约束符合不符合/满足不满足/定义没定义的问题.

这里的一个点在于.
数学或者说某种确定性关系,某种程度上来说是对向量两边的映射关系的一个特定子集描述.

或者说是某种特定的分组方式.

于是问题就在于,对于这个特解的所谓合理/相容/不矛盾是包含了这个group的某种constrain在内的.

简单说,就是排除了"已知的反例"的.

比如对于square操作.
\sqrt 2和\sqrt -2的区别.

后者可以说是在前者的一个新的reproduction或者说一个新的group子集划分.

这里想说的是什么呢?

所谓的确定性或者说科学性合理性在于,可以给出A->B的一个自洽的结果.
也就是,这时候有一种足够描述能力的子集划分,去概括这些映射关系.

那么,当如果出现一个是地A->B不自洽了的情况.
就像out of vocabulary或者某些算法的bad case的时候,就出现的需要对这个"映射关系"/理论做修补的时候.

就像物理学的发展.

那么到底什么是确定性呢.
或者说理论上存在么.

halting problem的思路在于,如果一个UTM能够simulate自身的话.
这个simulation是non stop的递归过程.
于是反过来说不存在一个UTM可以描述所有的东西.

这里隐含的一个假设就是,如果可以simulate,那么一定是会或者说必要halt的.
反过来说,如果把这个条件去掉,那么就存在一个可以simulate除自身之外的任意事件的UTM.

也就是说,把这组映射关系里去掉某些之后还是可以自洽的.

于是,反过来说,只要出现任意一个不在自洽体系里的case的话,这个体系的确定性就不存在.
或者说至少需要重构.

因此,一个体系所能描述的"确定性"只是针对已知或者已经发生的A->B的一个特例划分.
它的有效性最多仅仅限于"过去".

而对于"未来",这个是undefined的.



2017-04-15

PINCode的意义

考虑下支付pin code的意义.

如果没有pin code而协议走的是对称加密的话.
那么理论上只要能够对process/device有一定的访问权限的话,reveal key应该不是什么问题.

而https的话,机制上也有可能通过root certificate的方式让加密透明化.

剩下私有的非对称加密方式.

原则上来说,因为对于client的发出的信息来说,只有key owner能够decrypt.
所以貌似没什么问题.

但这里有一点是,key owner其实并不能verified client.
因为它verify的是基于public key的一个signature.
只是某种integrity的校验,而对于消息的发起者身份也是没有任何信息的.

于是,理论上,在client和owner之间就存在一个中间人的机会.
这样的话,同样可以使得加密透明化.

而如果需要对client和owner做一个第三方认证,也就是类似https方式的话,同样地不能避免中间人攻击.

所以,实际上来说,这里的问题一个消息的integrity.
另一个是authorization.

而integrity是建立在authorization之上的.
因为不管你的integrity check多么完善.
如果不能确认消息的制造者是期望中的一样的话,也是没有意义的.

那么怎么做authorization呢?

或者直观的一个例子就是,如果确认一个communication channel另一端的你是你.
而不是一条狗.

然后看pin code.

假设pin code没有leak的话.
或者说pin code是只有client和service provider之间才知道的信息的话.
换句话说,就是没有第三方知道这个信息的话,也就没有authorization的问题.

因为能通过这个pin code关联起来的除了自身就是对方.

本质上来说,这里依赖的是某种形式two party private information.

所以它的问题在于,如果leak了呢.

考虑什么时候会leak.

一个是在首次交换的时候.
或者说存在一个唯一一次交换信息过程的时候.

比如设定pin code让对方知道/确认的形式.

这个时候因为没有一个private information,所以理论上是存在leak的机会的.

那么存在不存在不需要交换,但双方都能agree的一个形式呢?

理论上是可以存在的.

一个最简单的方式就是考虑类似btc的方式.
双方随机生产一个code,然后encrypt一个公共信息,然后尝试decrypt这个信息.
如果能够成功还原,那么就因为这双方有了一个agreement.

这样的话,剩下的问题就是如何提高这种碰撞/配对的成功概率.

理论上可以把生产算法narrow到跟时间设备信息等已知条件习惯的某种半确定性算法.
比如最简单的通过当前通信的ip:port+limited random field去尝试配对.

当然,这里同样存在中间人的问题.
因为一开始谁也不知道谁是谁.

所以同样存在一个开始negotiate的时候被中间人的机会.

这样的话,倒不如回退回直接交换pin code的方式.

再扩展一下考虑用户名密码的模式的话也是类似.

本质上来说,这里需要的是一个private held的information.
用来做unique identity和mutual information.

于是,这里再回头看https的话,其实算不错的方案了.

通过https交换最初的pin code.
不存储的话,以后即使信道被compromise.
只要这个code保存地好/没有leak,那大致上还是能够做身份确认的.


2017-03-26

问答围观与广告系统

考虑下能不能把法律咨询做成问答围观的形式.

第一个是费用问题.
专业咨询昂贵的地方在于专门的针对性和具体的施行措施.

所以考虑这两个为成本的话,对应计价自然是基于这两点的价值来说的.

那么,对于咨询方来说,如果想要费用低廉的话要么就是得到的专门针对行变弱.
要么就是施行策略变得概览.

这样从逻辑上来说,价格才可能低廉.

这里的一个问题就是,这些 低廉价格换来的价值对于咨询者而言是否还有意义.

比如一个具体的案件.
常规就是专门的律师给予各个细节方面的考量和对应的应对方法.

而低价获得的可能只是一些原则性介绍和大致的轮廓方向.
这些对于求助/咨询者来说可能是没有意义的.

或者说需要咨询者有比较强的整合扩展能力.
比如有一定的律法基础可以根据keynote找到合适的执行策略.

又或者说,需要咨询者有比较明确的ROI概念,对于什么价格得到什么程度的帮助有一个理性合理的定价方式.

这是一个用户素质门槛.

那么,假定用户有了这种门槛素养之后,需要解决的问题就是如何合理地地匹配定价和解决方案.
本质上,就类似于与广告的 bidding问题.

在解决方案有了合理出价的前提下,虽然不能说容易解决.
但至少是一个现成的相对成熟的工业应用场景方案.

那么,这里的新问题就是如何给出合理的方案定价.
因为询价是用户自己的理性判定,所以这里不用考虑,只要看对应方案的定价.
然后就是经典的最大/最优匹配搜索问题了.

切换到提供咨询者也就是律师角度.

针对任何咨询,一个专业人士理论上都可以针对提供方案的详细程度给出一定的定价要求.
但考虑实际的咨询撮合里面,提问的数量应该是远远大于提供方案的人员数量的.

所以依靠律师一个个根据自己的回报去筛选是不太现实的.
而且对于提供方案者而言,挑选某种心理ROI区间的或有preference.
这样的话,对于其他区间外的问题就基本不可能得到回答.
这对于撮合系统来说可能不是一个理想的情况.

所以这里问题的推送应该是有一个算法筛选分配在作用.
目的有几个.

一个是帮助主题匹配.
二是在匹配主题的情况下,平和收益预期.
以及第三点, 提高被回答的覆盖面/广度.

稍微想下就是一个黑盒的搜索系统.
只不过query主题变成了预期收益.

这样的话,对于律师方来说,需要的是一个收益预期.
比如回到多少次得到大致多少回报,或者一定时间内 期望通过回答得到多少收益.

也是一个类广告的bidding系统.
可能更像是DSP方面的思路.

那么综合两边一起看的话,其实就是比较标准的搜索广告模式了.

于是顺便的,一些对于"广告"买卖双方的反作弊行为也有了一定的先验方案可以借鉴.
当然只是理论上.

flaw的 风险首先在于律师的欺诈性点击驱动.
也就是利用一些因素提供提供低质量回答得到超额收益的动机.

而回答的价值是否公允这个应该是由阅读者/付费购买者/咨询方决定.

所以这里大概免不了需要一个买方的价值是否公允的一个反馈信号.
以此作为卖方flaw的ranking的因素.

而为了激励买方积极作出反馈,则必然需要一种对买方有利的驱动方式.
最简单的就是返现/折扣咨询费等.

那么这样的话,这种激励制动也就产生了第二个flaw点.
买方的欺诈动机.

如果对于买方的 欺诈反馈信号也是使用卖方评价的话,那么就很容易陷入一种驱动循环.
比如需要额外的驱动机制,让卖方对买方做欺诈评价,而这种驱动也就成为新的flaw点.

所以,如果不能通过卖方信号的话,如何才能对买方的欺诈动机做识别呢?

首先需要明确的目的是防止恶意的买方欺诈.
也就是说需要允许买方的合理的有意的对卖方对欺诈反馈.

因此,这里需要的是对恶意买方欺诈的定义.

一种可能的方案是以买方反馈历史作为信号.
基于的假设是,如果是刻意恶评的话,那么跟正常的合理用户的欺诈反馈行为是不同的.
比如对于某个 高信用卖家的的恶评,比如对大规模卖家的无差别恶评等.
这是一个长期的类规则维护系统.

然后是,基于规则系统的问题在于只对有一定历史记录的用户有效.
对应的策略可以是不停的白纸用户.

所以,这里就不得不对这类白纸用户有所限制,或者说存在个别功能锁定期.

当然,这里可能存在一些优化点.
比如一些针对恶意用户对回归模型的早期特征预判等.
但总地来说,因为存在false positive的风险,如果控制不当可能会大规模地迅速摧毁卖方的平台信心.
所以保守做法可能还是监护性为主.

那么,对于卖方来说存不存在这种类似 买方的恶意欺诈呢.
理论上是不会的.

一个是可以通过专业准入审核做到.
毕竟相对买方来说卖方数量相对小.

二是欺诈成本高,收益小,不可复制.
这个是专业信用背书支撑的.
因为如果一旦专业透支,那么相当于平台不准入了.

买卖双方定价模型.
撮合系统.
反欺诈.

当然,最重要的一个基本立足点是咨询方的出卖动机.
或者说收益率是否达到一个程度的问题.




2017-03-14

所谓的高房价和城镇化的一点关系

看几个数据.

2015年北京商品房销售额为3,517.65亿.
上海5,093.55.
深圳大约2,822.
广州约2,415.

北上广深大概就是3,517.65 + 5,093.55 + 2,822 + 2,415 = 13,848.2

2016年第四季度居民累计可支配收入是23,821亿.
折算一年的话大概就是23,821*4= 95,284亿.
按北上广深占8成算就是76,227.2.

于是13,848.2/95,284 ~ 18%.

也就是只需要18%的可支配收入就可以cover目前的房价水平.

推而广之的话,只要整体可支配收入的某个比例大于销售额的话,房价无论怎么涨都是合理安全的.

反过来说不合理的边界在于收入水平的增长.

但这里比较吊诡的地方在于收入水平的非平滑分布.

也就是说收入水平的分布并不是一条平坦的曲线.

所以把它拆分一下的话,是一个由基数*增长率构成的条状分布.

这样的话,实际的安全边际就有最小的基数*增长率带决定.

或者说存在一个边际值,使得这个值以上的总和能够cover对应的每年新增销售面积的话,就还是安全的.

那么考虑下销售面积锚定的对应安全边际带.

如果两者存在一个比较合理的同步锚定的话,那么无论实际上无论价格水平如何波动都是合理正常的.

考虑,如果存在不对称的情况.

如果某个销售层级对应的边际层级出现不对等的情况的话,那么无非就是两种情况.
一种是销售层级过多,导致供给过量的价格走低,称为A类.
一种是销售层级稀少,导致需求过高的价格走高,称为B类.

先看A类.
如果A类的上层边际层级的情况是对等或者说也是A类的.
而下层边际层级无论是什么情况对于消化过剩都是无能为力的.
那么对于当前边际层级来说,销售无法消化,价格自然是继续走低的.

如果上层层级是B类.
那么就存在B类向A类吸收一部分销售的情况.
由此衍生三种结果.
一种是过量吸收,使得A类转变为B类.
一种是恰当吸收,使得A类变为均衡状态.
一种是少量吸收,A类依然处于过饱和状态.

于是,如果objective function是为了维持边际和销售层级的对等的话.
唯一的策略是通过B类转化A类.
也就是通过边际阶层的向下吸收.

类似于二线吸收一线的购买力.

然后看B类.
B类的上层边际层级无论是A类也就是上层有富裕的话,B类也无法吸收.
因为一开始的收入水平划分决定的.
而如果上层边际层级是B类的话,只会让当前边际层级的供应减少需求更高.

如果B类的下层边际层级是A类的话,就是A类的第二种情况.
存在可能的转化均衡.
或者同化为B类.

而如果下层层级是B类的话.
要没是本阶层转化为均衡情况,或者保持B类.
但下层层级是必然会演变为更加剧烈的B类的,因为同样的供给减少.

因此对于B类来说,合理的决策是构造富余的A类下层层级.

类似于二线以下的过剩发展.

于是综合两个策略的话,实际上是一个类似于农村包围城市的过程.
最基础的开始点在于最外围的供给过剩构成.

而实际上,这个策略最开始要解决的问题是,在无论价格如何波动的情况下.
都能提供一种机制使得各种层级能够自动调整至均衡条件.

考虑实际就是无论价格水平如何上涨,都能够保证层级的自适应性.

某种程度上来说,通过中心价格的上升,推动的是某种形式的阶层外延扩散.
而这种扩散带来的一个重要特征就是对应层级的收入水平的由中心到外延的扩散.

形式上来说就是通过不断拉高中心水平,然后制造级差过剩来达到某种形式的被动带动效应.

因为从策略上来说,就是通过加强中心的辐射强度变相地增加外延的辐射强度.
从而即使不能够消除差异,也能够在实际上增加外围的强度.

所谓的高房价和城镇化的一点关系.






2017-02-23

传播性的伪命题

做一点假设.

假设有个阅读数read为R的公众号.
订阅用户subscriber是 S人,且这些人的习惯保证必然会点开看.
再假设每个订阅用户好友数 friend位类似F,其中有p的 portion会二次传播该篇文章.
那么就应该有
R = S + S*F*p + S*(F*p)*(F*p) ...
->
R = \sum_{i=0}^n S*(F*p)^n

假设有1000订阅平均有F=100好友,触发几率是10%.

100,000 <= \sum_{i=0}^n 1000*10^n 也就是差不多就3度传播. 如果不考虑严格的话. 100,000 ~= 1000*10^2 也就是 R ~= S*10 ^(Degree-1) ->
R ~= S*10 ^degree
->
degree <- log(R/S) 即传播度数为阅读数和订阅用户数的数量级差异+1. 即假设有100w阅读,1000用户的话,差不多传播度就是 log(1,000,000 / 1,000) = 3. 四度的关系. 但如果只有100w 阅读,100w用户的话,那就是1度关系了. 那么考虑下,10w+阅读的意义. 也就是说,如果一个热门订阅也只有10w阅读的话,那么实际上来说它的传播影响力也就仅限于订阅用户这个群体. 而如果一个1k用户的账号要达到10w的话则需要3度传播. 对于低于1k的要达到10w阅读的话,考虑到>0的约束,则可能不太适合这个简单假设.
因为后面的余项会衰减地很快.
所以基本上如果能达到的话,相当于通过一个巨型的扩张节点从新传播了.

直觉上来说,微信这个平台应该不能说是一个传播平台.
更像是一种圈养平台.
因为就其给出的这个数据印象而言,很难说是具有强的传播属性.
更多的固定覆盖度.

尤其考虑到次级传播到时候,由于朋友圈的交集因素,发生再次传播的概率p可能会进一步衰减.

当然,另外一个要打破的约束就是平均好友数.
在传播过程中,各个层级节点的好友分布数量存在差异.
也就是可能存在一些大型的节点造成放大效应.

但即使这种情况来看,那也是一个比较稀疏的网络.
这些大型节点类似与连接各个subgraph的主干道.

在某种层面上把小型节点去掉的话,基本上就是这些有限数量的大型节点组成的网络.

即使是这种简化的放大网络,由于每个节点的传播意愿 可能并不存在一个统计上有效的偏好数值.
所以就传播范围和效果来说,存在相当大偶然性.

你不能说它不能成为一个有效的传播网络,但也很难做到大规模的扩散.
因为每个大节点的偏好由于样本变小了所以失去了统计上的意义.

因此在这种结构下,一个东西可能很难说是有生命力的.
因为要么, 这个东西是在一个固有的圈子里游荡,不会被外界所挖掘感知.
要么就是它的被感知存在的相当程度的随机/偶然性,因为被某些主要节点放大.

当然,这里还有一点就是公众号的10w+只是个表意数值.
可能实际是几百上千万阅读.

以某咪蒙为例的话.
.
简单Google到的数据是600w粉丝/订阅.
有些地方提到某些文章的点赞数是5w.

假设所有阅读的人点赞几率是5%的话,那么就是100w人阅读.
这个跟订阅数差距有点大.

用广告的曝光点击千分之五算的话,就是1000w人阅读.
差强人意.

但也基本上就是一度传播.

当然,因为可能本身体量大交叉冲突多了.

另一个数据是和菜头.
以新浪微博的粉丝数算70w订阅的话.
它的某篇文章里提到过个数据就是差不多每天1k左右的订阅增减.
所以实际量级在几十万的数量级应该是没问题的.

提到的另外一个数据是某篇文章20w+的阅读.
虽然是个例.
但至少量级上还是处于一度的.

也就是说即使是几十w的订阅,在微信生态里也基本上是一度传播.

或者可能在其他地方也是一度传播.

但至少有一点可以相对明朗的是.
对于除了一些"共鸣"性质或者virus属性比较强的东西之外.
单纯的内容传播/阅读是跟订阅数数量级相关的.

传播性大多数情况下是一个伪命题.












2017-02-18

信用价值变现与风险

考虑下付费订阅和粉丝经济的关系.

传统的粉丝经济算是纯粹的消费性经济.
主要是建立在某种精神性享受的投入变现的基础上.

虽然有时候也表现为一些周边或者实际物质性的购买回馈.
但总的来说,还是建立在一种类似宗教但随从信仰上面.

而付费订阅或者说现在所谓的知识经济呢.

字面上来说是一种知识交易.
无论是以专栏,直播或者问答什么的方式展现,浅层的思路是知识交换.
或者说用一个比较中古的词来说就是咨询.

直观的交易标的物是购买者所定义的"知识".
或者说信息内容.

那么,从交易的角度来说,成交的这笔交易有着什么样的特殊属性使得其能成交呢.
或者说是什么支撑着这种交易的存在.

就信息本身而言可能并不存在独占性或者稀缺性.
即便是传统的咨询业务,也不不是说只此一家别无二店可以提供.

那么是便利性么.

也不一定.

像文章栏目订阅来说,跟传统的报纸杂志订阅并没有什么太本质的区别.

也就是说,这些信息并不不一定是必需品或者急缺品,对于交易的频道和效率而言.
并没有什么太大的权重趋向优势.

权威性或者说影响力么?

可能.

所谓的信用背书.

通过已有的身份地位和影响力支撑的对言行的信用加成.

那么信用和信仰之间的区别是什么呢.

依靠信仰的经济依托的是一种不计回报的纯成本投入.
或者说并不要求有明显的回馈回报.

比如购买一个周边可能并不是因为有什么特别的实用功能.
而是一种建立在自我认知范畴内的联系性产生的溢价.

而信用经济是一种某种形式的远期估值体系.
对交易的结果标的隐含了某种实际的价值回报在内.

就像某些问答专栏等,购买的是一个对结果的合理性预期.
解决问题或者收获/知道了什么.

所以本质上来说,它是依赖于这个远期合约的定价合理性的.

也就是说,这个期权交易的结果对购买/持有者而言是有一定的实际价值偏离的.
或者说行权之后存在对价格波动的敏感性.

比如并没有解决问题或者说预期的结果不理想等等.

这个会对行权者对承兑方的信用估值产生重新计算/衡量/定位的需求.
就像自由市场里对价格合理性的回归波动.

但是知识经济的这种波动会一想到其他人么.
或者更明确地说,这种波动有有效存在么.

由于每一个交易都是基于买卖双方的二元交易.
对于第三者来说,当次交易的标的物的价值是没有意义的.

一个问题的有效合理性原则上来说只对提问者有实际意义和有效评定方式.
对于其他人来说,这个private value并不具有普适性.

所以这个价格的波动也并不存在的普遍存在意义.

或者稍微严格地说,只对具有类似提问需求的人会存在信用/价格波动现象.
而且由于每个人的评估体系/private value的估值体系存在相异性.
所以波动的实际效应具有不确定性.

因为批判标准不具有普适性.

于是,只要维持这种信用加成.
那么变现方式就是相对稳定的.

因为每一次交易都可以看作是同样初始条件的相互独立的可重复实验.
影响结果通常并不会累计.

除非是在某些基本价值观/世界观或者说普世价值相关/大是大非的情况下,才会对整体信用造成影响.
因为这时候的参与评价群体是约等于全部潜在买家.

某种程度上来说,这种模式的风险也就在于如何稀释每次交易造成的不良影响.
或者说受众面.

2017-02-11

游戏性与火焰纹章的一些问题

前两天沉迷了下火焰纹章:英雄.
然后脱身想到了个事情.

本质上来说,手游和绝大多数的网游应该算是一种重复消耗品.
而相对的,一些传统的"单机"游戏则可以说是某种形式的一次性消耗品.

这两者区别在于,产品成型的目的是为了一种有限的游戏性目标还是说一种无预期的持续性消耗.

简单说,就是一个是有明确的剧情/娱乐路线和时间点,或者说就是有着明确的结束终止条件.
而另一种则是没有显式的终止条件,而且可能设计的目的就是为了持续这种重复消费.

所以对于一般意义的网游来说,虽然可能也有一些明确的主线/剧情等等,但逃不过但是一些重复性体验.
比如刷关卡等级材料等.

某种程度上来说,不管这些游戏表征出来的玩法形式是什么.
本质上来说都是一种时间消耗的循环核心.

不管是一些消除类,抽卡,副本,锻造,强化等.
本质上来说都是在沉淀或者转化"时间"为所谓的游戏性.

而另外一种类型的游戏则是在于提供一种相对完整的游戏性体验.
所谓的完整是指整体设计有着finite state.
或者说可遍历/终止性.

比如正统的RPG.

尽管也存在一些所谓的重复/刷/time consume的概念.
但从总体上来说,它是提供一个完整但世界观/剧情/流程.
有着相对丰富但设计者所想要展现的游戏性元素.

也就是说,本质上这种的游戏性在于作者和玩家之间的某种形式的交流/倾诉.
所以在感受到的题材方面,不是单纯的用时间换取某种东西,而是其他可能更广泛的题材.

或者说两者的区别在于,目的性的驱动方式.
是简单的"时间"就能转化,还是需求更多的元素才能完成游戏目标.

更一般地说,两者合二为一的描述就是所谓的游戏性在于达成目标所需求的元素的多寡.

所以从这个角度来说,像火纹的元素,职业系统/属性分布差异,SLG本身的地形移动差异都可以算是一些所需达成的元素维度.
甚至于,这些已有系统的维度可以无限地增加扩充下去.

但这样并不能感受到到一般意义上游戏性的增加.

那么这里缺的东西是什么.

考虑下抽卡.

抽卡让人沉迷的地方在于其不确定性.
而对这种不确定性的追求则是建立有可能坍塌到某一方面的特性.
也就是说概率越低,带来的愉悦特性就越高.

某种程度上来说,还是基于人的over confident带来的value premium.
因不可得造成的大幅溢价追求.
通过调整private value的偏差来达到行为合理性的方式.

这个apply到RTS以及MMORPG也是类似的.
RTS的溢价在于带来的竞技性优越性.
而MMORPG带来的是social方面的优越性.

所以,所谓的游戏性核型其实不在于元素多寡.
而是制造这种估值偏差.

偏差的存在在于比比对性,或者说基准.

比如说如果不这么做会怎么样.

一个三消游戏关卡不过会怎么样.
抽不到SSR会怎样.
不上线会怎样.

所以,从这个角度看排行榜的话,尤其是类好友关系/graph local的排行榜.
会发现这几乎是一个0成本的差异基准.

一旦锚定了某个价值的话,就会用行动去维护这个估值.

回到火焰纹章本身.

传统系列里的一个最重要的特征或者说价值体系在于,角色死亡的不可逆性.
也就是说它的一个游戏性在于维护角色的存活.
尤其是夹杂了角色本身的故事/设定/属性/技能/培养成本/个人偏好等元素在内的估值偏差.

但以SLG为主要游戏形式的话,有注定不能像系列一样作为一种一次性消耗物品来设计.
而重复消耗物品以游戏形式来说,又不可避免地要把地图/故事线重复利用.
同时,由于地图在一定时期内是相对固定的,难度也是有限级别的,所以注定在一定时期内,地图的游戏性会在短时间降低.

于是,角色不死和地图无可玩性的矛盾之间就指向了一个博弈均衡,停止.
因为短时间内角色的变化存在一个瓶颈,地图可玩性也逐渐失去趣味.
所以要维持的话,只能不断地推进角色的变化程度和地图的可玩性.

也就是需要有比较频繁的关卡更新.

这个从运营上来说是不太现实的.

那么,如何去相对合理地保持和增加估值偏差呢?

火纹的价值偏差是建立在角色不死的基础上的.
所以在这个设定不变的基础上,如果增加角色死亡的概率,那么相应地就是对维护价值的行为做出了某种衰减作用.
一方的衰减,也就是相对地估值偏差在增强.

于是,如何增加角色死亡风险呢?
尤其同时要保持用户的活跃度.

一个可能的方案就是增加饥饿度的之类的生命随时间衰减设定.
即使如果不对某个数值进行修正的话,角色将会"自然死亡".

那么这样的话,自然有了维护角色估值的动机和元素.
同时也为规划用户的活跃时间和付费概率提供了一种数值估计.

比如通过刷图获得某种数值修正道具去修正角色的时间衰减存活数值.
而这种修正的幅度和概率是可以通过刷图的难度和时间以及日常活跃市场推算调整的.

剩下的就是具体的数据反馈和数值策划问题了.





2017-02-02

符号化的政治正确

有时候觉得,现在所谓的三观正可能也是某种形式的政治正确.

只不过可能是被裹携在一些所谓的大众观点里面.

当然,也不是说政治正确就不好.
只不过有时候,可能更像一种标准答案式的道德应答.

你不能说错,但也很难说真地对.

年前一点,有乘风破浪主题曲的歧视风波.
年中,有宁波老虎的社会事件.

前者的政治正确在于歌词中所表达的对于女性地位的不尊重和男性无能的理所当然的对照.
后者的政治正确在于不遵守规则就必须付出低价.

这两点有什么问题么.

没有.

那么问题是什么.

如果把歌词的男女对调一下,那么理所当然的批判对象就是女性的公主病.
而如果把被射杀的老虎变更为逃到闹市区的猛兽,那么自然也是毫无争议的应该处死.

这也是政治正确的.

区别在于偷换的概念.

前一组的隐含设定立场是受害者方向.
作为被奴役的女性和遵守规则买票的观众.

后一组的设定立场是非正常行为的施放方和有生命危险的普通群众.

从行为性质上来说,两组都是某一种情况的感情阶段和人兽关系.

当然,具体条件不同.

但可能有一点比较重要但就是考虑问题的立场的角度的不同.

当你反对/赞成一个东西的时候,可能是因为所处的立场在于受害方/得益方.

这也就是为什么宁波事件里会有逃票可耻可耻但有用,规则诚可贵生命价更高的声音/立场指责.

所以如果代入这些立场去考虑问题的话,会觉得也不无道理.
因为此时的损益点是一致的.

当时通常来说,正确的立场只有一种.

你可以说这是一种社会道德约束/框架.
用来规范一些公共/个人行为.

而这种 正确性 所隐含的就是一种相对默契的对于损益点的一个共识.
以及相应的,在利益冲突时候的立场优先权问题.

比如涉及男女立场的时候,一方损益不能高于另一方.
维护规则的公平性高于生命财产损失等.

但有时候实际情况可能更为复杂一些.
一些条件的更改可能立场和决策就会不太一样.

比如宁波事件里,如果人正常入园的游客不小心掉进去的.
或者是正常入园的游客违规危险逗老虎掉进去的.
或者是饲养员违规操作喂老虎.
或者是操作不当导致喂养没有保护隔离.

不同的概念偷换之后,可能就会有不同的观感.

但对应但解决方法和应对预防措施可能并不会有什么太大的不同.

所以,在选择立场的过程中,强化的是对立场本身的正确性.
是一种固有制度约束的影响力扩散方式.

某种程度上来说,政治正确就是一种既定的行为指导.
尤其是对于一些有复杂利益冲突情况下的案例的一种相对直观的操作手册.

你很难说有什么不好.
因为这是一种majority vote的决策guideline.

很多时候并不需要指导具体的conflict resolve的过程和依据.
只需要知道一个结论就行了.

所以很多时候debate一些事情的时候,并不需要什么特别的理由.
因为本身的 政治不正确 就给予了根据.

因此,按照手册执行一种社会道德监督也并没有什么大问题.
至少从效率和花费上来说,是一个相对理想的情况.

只要这个政治正确决策所依赖的前提条件都严格符合.
并且没有什么过时的设计在里面.

2017-01-08

人人都是产品经理

考虑一个问题.

如果让北京通过向河北支付环境税来使对方关闭工厂解决雾霾的一个因素的话,会怎样.

首先第一个问题就是,为什么要这么做.
或者更直接的凭什么是北京向河北支付,而不是河北作为污染提供者支付.

这个可以站在河北的角度来看.
凭什么让河北停产,牺牲收入.

如果要进一步的诘问河北为什么不寻找其他收入来源.
那么OK,可以直接向河北递上具体的执行方案.

假如就缴税方向达成一致了的话.
那么算笔账.

来自统计局的国家数据:
河北省2015年的GDP是29806.11亿,常住人口7425万,城镇单位就业工资总额3289.48亿.
北京2015年GDP是23014.59亿,常住人口2171万,城镇单位就业工资总额8643.54亿.

23014.59<29806.11,因此以GDP为窗口让北京补贴河北显然是不可能的. 以人均工资角度来看,貌似可以. 因为8643.54>3289.48.

那么考虑下具体人均负担.
河北按常住人口平摊下来是3289.48/0.7425=4430.
用河北的工资总额按北京常住人口平摊下来是3289.48/0.2171=15151.

也就是说,北京需要人均支付15151元以支撑河北人均4430元的工资水平.
因为这个数据也没标记是年总量还是月度值,所以不好说水平.
但一个直觉感受就是需要差不多3个北京常住人口才能支撑一个河北常住人口这一点.

另外,有个2012年的城镇人均总收入数据(12年之后的空缺).
河北是21899.4,常住人口7288万.
北京是41103.1,常住人口2069万.

类似地有
河北人均年收入21899.4/0.7288=30,048
用对应的北京常住人口算21899.4/0.2069=105,845

也就是北京人年支出10w以换取河北人年均3w的水平.
平均下来每月就是8,820.

这个北京人民能接受么.
或者说承受地了么.

OK,假设不单是北京一个地方向河北支付.
而还有其他地方.
并且假设分摊的支出到了合理和可接受的程度.

那么下一个问题.

征收人群是哪些.
受益人群是哪些.

前面假设的是常住人口.
这是一个比较模糊的概念.

假设是指有对应城市户籍的人.
那么,方案一旦实行那么一个河北户口就相当于有了0成本固定收入.
而同时一个北京户口就有了月固定无收益支出.

这对户籍制度不能说不是一个考验.
尤其之前的京籍制度,以及连带的各种社会影响.

一个可以考虑的例子就是京籍的成本,以及附带在上面的诸如入学等一系列社会资产的重新定价.
还有在籍人员和非在籍人员的矛盾冲突等.

如果考虑是务工人员呢.
或者简单地说社保缴纳名单.

那么京籍的问题可能稍微减缓.
但河北籍的溢价和投机问题依然存在.

OK,假设每人计较这些得失.
只关心雾霾能不能解决.

那么接下来的问题是这个方案这么推行.

是直接推行呢,还是以投票方式.

直接推行的可想结果自然是反对.
一个理由就是不听取民意,独断转型.

那么投票呢?

假设有这么一种情况.
一部分是赞成的.
一部分是反对的.

那么,如果投票结果是赞成推行的话,那么对于反对方来说就可能会说.
这是暗箱操作,要求重新计票,或者公布投票名单.

计票自然是维持结果不变.
那么就轮到公布投票名单了.

一个可能存在的结果就是针对名单上的列表,反对人群对其中一部分人采取了各种可能过激的行为.
同时,对于投了赞成的人群来说,就会发起投票匿名信保护的争议.

于是在解决一个问题之前又多了一个问题.

如果结果是反对多数.
那么同样地可能会有类似的问题.

而且最重要的是,事情回到了原点.
因为方案不能执行下去.

所以这里的核心是什么.

这里的根本是,人人都是产品经理.
人人都能调出哪怕一两个产品的缺陷并且能够衍生可能非常合理有效的对比批判/批评.
但是,不是人人都能拿出一个合理可行的解决方案.

而且可能得到的回答是,这个问题不是"产品经理"应该考虑的问题.
如果产品经理能解决具体的实施问题,还要工程师干什么.

或者说,你实现不了是你不想实现.

诸如此类.

毕竟,永动机没发明出来,也许只是因为不够努力.















2017-01-04

隐私悖论

昨晚发了条带名字备注的截图.
早上起来的时候看到条关于隐私的吐槽.
于是想了想就删掉了.

然后顺着这个思路发散了下.

这里的一个问题就是,信息到你手上之后,有没有权力继续流转.

更一般地可能是对于"可见"的信息的权力行使和所有问题.
尤其在一个属于"公共区域"的信息的所有权问题.

比如你翻一个人的微博timeline算不算一种侵犯.
尤其当对方把其当作一种树洞处理的时候.
这时候的窥视算不算一种不道德的行为.

再比如,如果一个timeline是确然地愿意被看到的.
那么对内容的二次传播是否就是自由的呢.
毕竟能看到可能只是因为对方的一个公众子集,或者私有圈子.

又如,对一个原始受限受众的内容对第三方/非受限人群进行转述或者点评/评论使之有所感知或者获知的行为.
算不算对原有信息规则的一种破坏.

让事情更复杂的是,如果以上这些情况是在没有明显告知标记的情况.
比如微博的公开timeline,Google+的Public circle,Twitter的普通tweet,Facebook的非定向status update,微信的公开朋友圈等.

本质上来说,这里存在两个维度.
以graph的方式考虑的话,把"人"作为节点,信息作为一种traversal的话.
那么这就是一个directed acyclic graph.

更重要的是,由于每一条信息经过节点的时候,会根据节点“人”的决策,从而有不同的fanout/流出度/out degree.

如果更宏观地,把每个节点的各种可能的fanout方式列出来的话.
则,对于存在N个节点,每个节点i有k_i种fanout方式的这个有向图来说,就存在
\prod_i^n k_i种组合方式.

也就是说对于原来作为无向图/基础graph考虑的话,实际就会有\prod_i^n k_i种不同的可能的reality.
就像某种形式的多重宇宙的通俗概念一样.

而这只是某一条消息可能产生的事实graph的可能性集合.

这里imply的就是,对于每一条信息来说,它的最终构成的graph/流转途径几乎是不可确定的.

这是因为作为每个节点来说,所能控制的只是对下级的fanout.
而次级对于flowin的message是如何处理的取决于该节点自身的独立的activation function.

跟重要的是每一级的activation function可能会对对应的message做不同的流转特性方面的变更.
比如本来是某个私有圈子的信息,经过某个节点之后被放大提权到另一种流转级别.

所以,从这个角度来说,要做信息流向的控制,基本是不可能的.

即使考虑,比如某个origin O节点需要向某个subset S传递消息message M.
如果O要保证M按照O的设计只在S中间存在的话.
那么就必须要有一种方式保证对于M的S的各个activation function F存在某种形式的agreement.

或者更直接地,强制使用O提供的一个activation function.

这应该是没办法做到的.

如果放宽一下限制.
允许当前信息M_1被外延,但随后对作出例外fanout对节点进行移除处理,也就是通俗所说对删好友/拉黑方式的话.
那么就需要有一种机制去发现这个fanout节点.

一种方式是定义这么一个协议.
对于一个origin的信息而言,在初始fanout的时候,会带上对应的限制信息.
次级在收到消息之后,再次fanout的时候会带上次级的信息.

当其他节点发现次级信息不是origin信息的一个合法/合理子集的时候,就可以发现冲突了.

从技术上来说,要让消息在两者之间有辨识度,可以用RSA.
也就是origin和first fanout的节点之间做RSA消息.
而消息的传播渠道是类似blockchain这种具备immutable history的东西.

当然,这里还有一个问题.

就是当fanout的节点本身也是一个隐私问题.
或者说不需要被传递reveal出来的东西呢?

也就是说,次级节点需要在不做到origin节点的fanout list的情况下.
构造一个这个list的子集.

一个具体的例子就是.
给定origin O和对应的fanout list,L=[A B C]
对于C来说,此时要构造一个secondary fanout,SF=[...].
同时又不做到合法的子集是仅由ABC构成.

理论上来说,C可以构造各种可能的list然后向O询问是否合法.
但这个显然是不现实的.

而且,同样地,通过不停的询问实际上是可以reveal O的原始意图的.

于是,一个微妙的点就是,似乎很难在约束一个信息流转的方式.
因为如果存在这种方式的话,那么就可以用同样的构造过程,使得这个信息按照约束相反的方式流转.

一个近乎完美的悖论.




聊聊卡布里尼

最近看了部片叫卡布里尼,算是可能这段时间来比较有意思的一部电影. 故事也不算复杂,就是一个意大利修女去美国传教,建立慈善性质医院的故事. 某种程度上来说,也很一般的西方普世价值主旋律. 但是如果换一套叙事手法,比如共产国际的社会主义革命建立无产阶级广厦千万间的角度来看的话,也不是...