Skip to content

Latest commit

 

History

History
1081 lines (905 loc) · 62.8 KB

Note18.md

File metadata and controls

1081 lines (905 loc) · 62.8 KB

测试 & 细节改动 & 训练


n18p1 训练进度可视化

CreateTime 2019.12.27

经过4个多月完善理性思维,我们可以回归到乌鸦的训练中来,本节,重点对小鸟成长训练,做步骤规划和记录;
总结: 后采用heLog+规划性训练先做了;

训练飞行 From N16P16 TITLE DESC
1 直投 知道吃坚果解决饥饿问题
2 马上饿 有解决饥饿的需求
3 远投 看到坚果吃不到,知道是因为距离问题,但解决不了
4 摸翅膀 学习飞行方向所导致的距离变化;(飞8方向x坚果8方向=64映射) (小鸟更关注飞近,而非飞远)
5 主动飞 小鸟可逐步学会飞行方向越来越准确;
6 主动吃 小鸟可在飞行坚果旁边时,吃掉坚果;
18011 训练进度可视化
功能 技能检测,进度可视
触发 点击进行技能检测
1. 会吃 √
2. 会飞 ✕
3. 会躲
4. 会疼






n18p2 时序识别测试

CreateTime 2020.01.06

简介:
  本节处理在TIR_Fo的测试中,遇到的问题;
本文名词与缩写解析:

  1. 四层: parent层,proto层,match层,abs层 (参考18021示图)
  2. 前两层: parent层和proto层;
  3. 后两层: match层和abs层;
18021 时序识别辅助测试图
示图
18022 BUG STATUS
1 测出A1.absPorts为空的BUG;
2 shortMemFo.last_p取出的是parentA1,而不是protoAlg的问题
3 在TIR_Fo的返回结果总是nil (因以上各BUG导致);
18023 迭代全含
说明 对于matchFo的前半匹配部分,要全含;
举例 [老虎,跑过来,咬我],前半部分,即老虎跑过来要全含,预测;
18024 迭代四层fo
说明 支持四层.refPorts联想assFo;
举例 否则看到重石压自己,会因为未经历过重石压,而不懂预测
附注 前两层主要做引导,后两层联想assFo (match优先,abs次之);
18025 迭代四层alg
说明 判断fo.itemAlg匹配时,先做contains判断为true,后做四层absPorts匹配
举例 非老虎时,另一种巨兽冲过来,一样预测到咬/危险;
废弃 以上contains判断废弃,用MD5替代;
附注 前两层主要做引导,后两层做MD5匹配 (match优先,abs次之);
18026 TIR_Fo源于瞬时/反思的伪代码
伪代码
注1 用于解决: shortMem有四层,而rethink只有两层;
注2 rethink除全含外,还须包含mAlg,而shortMem只需要全含即可;
实际代码 1. rethink中,包含mAlg用assFoBlock()来实现了;
2. 废弃checkFoValid,改成了独立checkFoValid()来实现了;
3. 废弃getIndexForAssBlock,改成一条条回调assFoBlock来实现了;






n18p4 价值概念化

CreateTime 2020.01.13

  1. 本文中情感,系价值的概念化 (类似时序概念化);
  2. 大多数人都喜欢正能量,不喜欢负能量,但其实正负本来就是相对的,不可能把某个完全摒弃掉;
18041 价值概念化 >>
对于已正价值感性的喜悦 已正感
对于已正价值理性的偏好 已正理
对于已负价值感性的悲伤 已负感
对于已负价值理性的愤怒 已负理
对于将正价值感性的期盼 将正感
对于将正价值理性的思念 将正理
对于将负价值感性的担忧 将负感
对于将负价值理性的恐惧 将负理
注: 文中,感性表示网络中mvModule
注: 文中,理性表示dataModule(含概念与时序)

18042: 在实践中,仅需要对正和负两种做工程实践,其它全由智能体结合"已/将","理/感"自行感受;

另附 思维方式概念化 / 思维概念化 >>
说明 将一些思维方式进行概念化,比如:大小约为x的水果是什么?,在此描述中,我们会联想到水果,然后再具象水果中,以此大小进行特征匹配,并最终得出答案;

注: 表中仅是对常见几种总结性,许多后天结合其它信息后再习得的更细分的(参考18042所述),本文中不列出,如:尴尬,惊讶等等,这些都源于在后天智能体结合别的信息归纳出这些情绪而已;






n18p5 测试训练

CreateTime 2020.01.14

TODO DESC STATUS
1 乱扔很多坚果,都是最具象alg,且在内存中,导致识别失败 T 同BUG3
2 查日志:"最后一个alg都未匹配,查看是否在联想时就出bug了",经查是因为checkItemValid中,从parent层到match层,少取了一层,导致无法匹配到; T
3 "概念识别"在内存局部匹配时,极易匹配到最具象节点,导致关联失败; 解决方式: 废弃内存局部匹配, **因为:**硬盘局部匹配其实也有最具象的时候,不过这种情况少,是可接受的,算做智能体在最初学习阶段,不易识别,因为还没学好,但如果内存局部匹配的话,这种问题是贯彻始终的,即智能体已经学的非常溜,依然会有这种情况; T
4 在点击直投时,先吃,才看到吃前视觉的坚果,这显然不对 (写OutputObserverType解决); T
5 列举出,一个时序 如[吃坚果饱],来测试时序识别; T
6 在步骤一和二进行训练后,重启应用训练,乱投无法识别到坚果,怀疑是内存网络中,有些抽象未持久化导致;
7 在训练1+2后,第三步训练时,坚果乱投,却行为化成功为act=[],未发现距离问题 (经测试,发现mcs&cs&ms都为空,因为MC类比时,M.absPorts和C.absPorts都为空,并没有抽象为距离坚果); 转至n18p7
8 输出失败,焦急时,产生负mv T
9 马上饿决定吃掉面前坚果,此时: 前要,到坚果又决定,形成外层死循环 T
BUG9 解决方案>>
1. 吃前不看,(都决定行为了,临门一脚,再多余的动作,是不可能滴)
2. 瞬时不清空 (行为输出后,能够将时序连起来) 比如:[远果,饿,吃],如果在饿时将远果清空,则时序中,只有[吃];
3. 方案1+2
4. 输出行为的去重
5. DemandModel中存actionsFo,并判断去重等;
6. 新OutputActions时,将旧的作废 (以后改为连续视觉后,会需要这样的支持,同时只能输出一个行为);
结果: 95%选择方案3,其无多余动作,故天然避免4和5所指的重复问题;
结果: 6所提及问题,可与1+2配合,但在v2.0暂不需要,所以放到迭代计划中;
BUG9 解决方案v2 20200212
见: 18101

训练计划 (步骤)
1. 点直投抽象出assFo[坚果,吃] -> (饱mv↑)
2. 点乱投坚果,进行概念识别,并时序识别,conProtoFo[坚果,...]预测 -> (饱mv↑)
3. 点马上饿产生需求进行决策,MC匹配,因为不明白距离的影响,智能体会直接吃远处坚果,但吃不饱 (从而焦急);
4. 训练计划:在外循环,有效利用焦急情绪,让智能体发现距离>0的坚果不能吃。
5. 点摸翅膀,学会飞行,并且能够通过飞行解决距离问题 -> 飞行
6. 并决策有皮的问题 -> 去皮
考虑下是否需要一些前期工作:
1. 在各种位置吃坚果
2. 点摸翅膀训练飞行
步骤1 抽象出assFo[坚果,吃] -> (饱mv↑)
训练 在新安装后,直接进行直投,三次后,得到正确结果,如下图:
结果
说明 1. f12[a8,a6] 其中a8主抽象坚果,a6为吃;
2. f5[a7,a4,a9] 其中a7为场景坚果,a4为吃,a9为空场景;
3. f11[a10,a5,a12] 其中a10为场景坚果,a5为吃,a12为空场景;
步骤2.1 乱投,进行概念识别;
训练 点击乱投后,直接打印"识别alg成功",且未发现可疑问题,继续下一步训练;
步骤2.2 乱投,进行时序识别;
训练 点击乱投前两次识别时序失败,后两次再点又成功了;如下图:
示图
说明 1. protoFo仅由一个场景视觉中的坚果组成 (见f23);
2. 识别得f12[a8坚果,a6吃]
3. 且预测得m4(价值↑)
问题 前两次,未识别时序成功,疑为当时关联强度为默认1,导致初时未联想到导致;
步骤1+2 联合训练记录
训练1 点击直投三次,发现抽象出抽象时序,对应[坚果,吃]
训练2 点击乱投一次,发现识别出assFo,对应[坚果,吃]->{mv↑}
步骤3.1 马上饿产生需求进行决策,并MC发现距离问题;
步骤3.2 摸翅膀由触摸反射被动飞行,学习各种方向的飞行时序;
步骤3.3 马上饿产生需求,并主动飞行解决距离问题;
步骤4 多次吃不到时,焦急且类比,进行抽象距离>0,而导致吃不到;
迭代 考虑将from-to方式,添加到稀疏码类比中,抽象时,值为from-to。






n18p6 反省

CreateTime 2020.01.19

在训练步骤三时,发现MC没有共同抽象"距离",导致距离的差异并不能被he反思到;而位置>0时,导致吃不到,这个时序会作为新的输入信息;

此时只要做新的类比,就可以发现距离>0会导致mv-,而距离=0才可以mv+;

所以本节,主要讲将外层循环考虑进来,看对训练的作用,以解决此问题;

  1. 换个位置直投,抽象出与位置无关。
  2. 有距离时吃不到,反省类比出距离抽象,距离对mv,一者指正,一者指负。
  3. 外层循环,打通,可解决此问题;
18061 思考如何取得预测fo与行为fo,才能进行类比。
1. 纯循环方式: 测试下行为fo,在TIP中进行输入联想后类比会得到什么结果?
2. 反省方式: 测试下在demandManager中,放上actionFo,并与执行出的结果newFo,进行类比;






n18p7 反省2: 外循环类比 (距离分析)

CreateTime 2020.01.21

在训练中,小鸟吃了远距离坚果,未发现距离问题 (经测试,发现mcs&cs&ms都为空,因为MC类比时,M.absPorts和C.absPorts都为空,并没有抽象为距离坚果);

  • 本节重点解决,关于距离的认知和使用;
  • 本节中提到的from-to,其实2017年就有微信息支持抽象,只是后来取消掉了,,,
  • 分析下,能否在v2.0中,先别做稀疏码抽象,比如使用区间距离的方式 (如精度为4级: 0距离,小距离,中距离,远距离);
18071 前提: 外循环类比
取俩fo 认识到fo1[实际行为的输出结果] 不符合fo2[预测],并进行两个fo的类比;
理性类比 能吃[坚果有,吃,坚果无],不能吃 [坚果有,吃,...] 无法吃掉;
感性类比 吃不饱 [坚果,吃]->{mv没变化没饱,或为负焦急};
预测fo,不应在上次循环中保留,而是重新联想取出 (比如我去年存一年钱,今年得利息,去年的预测显然已非上次循环,所以要重新联想取);
18072 表征: 稀疏码from-to (>from&<=to)
能吃 能吃的那些距离值范围坚果 (一般=0)
不能吃 不能吃的那些距离值范围坚果 (一般>0)
值范围是多变的,比如0-5能吃,5-10不能吃,10-15又能吃;
索引表征 假如把from-to表征成一个抽象稀疏节点absValueNode,那么
索引说明 from-to的稀疏码易表示,难索引,因为一般被引用范围都太广;
时序类比 在内类比和外类比中,对value_p进行类比时,要支持absValue;
18073 使用: 多角度分析
索引角度 value_p=3.absPorts->absValue>0.refPorts->远距坚果
概念角度 在概念节点的抽具象匹配中,要回归到稀疏码层先类比,再返给概念层结果;
决定TODO春节后 >>
1. 先不做,只对距离分4级精度;
2. 然后在执行Output_General后,如果未解决问题,则产生焦急情绪;
3. 如此两次后,应该能够抽象出,[远坚果,吃]->{焦急}
4. 在下次,再想吃远坚果时,就会在反思中,发现此路不可行;
5. 然后紧跟着MC来判断将远坚果变成近坚果的方法; (abs1:远坚果,abs2:近坚果)
6. ???继续分析下,此处在MC匹配后,如何做出飞行,改变远坚果->近坚果的行为化;
网络构建步骤示图 训练距离抽象示图
上图,标示出在外循环基础上,关于后面吃坚果的知识训练过程; 上图,标示出训练距离抽象的方式,并给出原则与实施方案;
  • 18074_外层循环分析 >>
  1. 外层循环中,上轮的输出,是新轮的输入,而对于瞬时中时序的匹配,能否符合预测(见下方案)
  2. 出与入非同类型问题分析: 很多行为输出与输入其实非同类型信息,且很难判断,比如输出肌肉参数打自己,对应输入应该是输入疼痛感,但在时序中,各个概念本来就不要求同类型,所以不影响;
  3. 方案1: 以上符合预测改为TIR_FO匹配成功,即用新的TIR来进行新轮循环:
  • 示例: 有狗冲我叫,我喊一声吓它,有可能吓走,也有可能冲过来,这两者都是符合常理的,但我的预测其实是希望吓走它,所以TIR_Fo可以对以上两种输入都有好的处理; 80%采用
  1. 方案2: 以上符合预测在DemandManager中,进行类比,并得出结果:
  • 示例: 预测吃掉坚果,结果没吃掉,从而对比出距离问题; 20%采用
  1. 两个方案分析1: 当我们吃坚果,未吃到时,是否能够分析到距离问题(答案参考18075)?如果我们自省发现,我们对距离产生无意识类比分析了,那么方案2是正确的,如果我们并未无意识分析得到答案,那么方案1是正确的;
  2. 两个方案分析2: 方案1更自然而然,也更加符合he的循环设计(因为一切可能导致复杂的变数,都不能指望,比如我们喊一声,得到的反馈也许是几十种,变化极多);
  3. 两个方案分析实例:我们吃了距离>0的坚果,但并不能说明一定是距离导致没吃到,也许是因为此时正好发生了别的鸟抢坚果吃的事;所以我们更应该关注正时序TIR_Fo(距离>0吃不到 & 距离=0吃的到),而不应用方案2的方式,如果要支持方案2,那么我们需要非常多长期的类比,来得到确切的原因点,比如长期观察,确实是(距离!=0吃不到);
  • 18075_外循环方案1,分析距离问题
  • 如图:

    1. 不需要抽象距离节点,只需要[无距果]抽象节点,使MC为同级;
    2. 解决MC同级问题,有两个方案,目前可以采用方案2 (因为目前he支持cGreater和cLess)//注:在v3.0应该会去掉比大小,由完全的时序匹配替代;
    3. 在外循环中,要形成两个前提fo (训练中用可视化来达成);
  • 代码化:

    1. 前提部分: 本身代码未发现bug;
    2. 方案部分: 执行方案2,在MC匹配行为化时,对ms&cs的抵消条件,由总长度为1改为判断不同稀疏码长度为1条时;
  • 训练:

    • 前提部分: 用可视化,训练出fo1和fo2的构建,并且调试其在MC中被联想到;
    • 训练出fo3:[距大,飞,距小],调试其构建;
    • 方案部分: 在MC行为化算法中,要对距离进行抵消,并找到fo3,输出飞行;
  • 疑问:

    • MC类比算法中,HE是采用以抽象为基准进行类比的,而在MC行为化算法中,进行修正M与满足C时,依然采用以抽象为基准,会不会误杀掉某细节信息;
    • 比如:毒蘑菇要去毒,我把它烧成渣渣,自然就没毒了,但其也无法被食用了;
    • 解决方案: 保持以抽象为基准不变 (因为时序的元素是概念,时序的思维要优先操作概念),而在修正M与满足C后,对C的加工准确性进行理性判定,确实合格,或者说评价中,进行感性判定,判断我们爱不爱吃渣渣,吃后能不能饱;
TODO STATUS
1. 目前稀疏码索引不支持模糊匹配,所以先对距离精粒度设为5dp=1; T
2. 在MC行为化算法中,对ms&cs抵消条件,改为不同稀疏码长度=1; T
3. 对于Output_General,未解决问题,要产生焦急情绪,以形成[远果,吃]->{焦急} (焦急触发是否需要条件); 弃,原因见18076
4. 测下,在TIR中,能否对[远果,吃],产生长时时序记忆; T 用更饿mv触发写到长时参考:18084_1
5. 测下,能否形成[远果,吃]->{焦急}; T 无需焦急
  • 18076_焦急情绪的触发分析

    原本要形成时序:[远果,吃]->{焦急mv-},但发现,焦急的触发是个问题,所以此处分析下此问题;

    1. 解决方案: 焦急源于无能为力,所以采用正向循环方案;
    2. 实例说明: 程序员改一bug时,尝试方案1,未解决,想到第2方案,不急,尝试方案2,未解决,想不到有什么办法了,焦急;
    3. 实例解析: 以上实例表明,焦急并不是对当前输出行为的挫败感而生,而是因无能为力,导致焦急情绪;
    4. 疑问: 如果没有焦急,那么对远果不能吃的常识问题,参考下节;






n18p8 学用常识:远果不能吃

CreateTime 2020.02.06

简介:

  在上节末,对外循环中焦急时机分析,导致远果不能吃,不能够以焦急来做感性评价,而转向理性判定远果不能吃,所以本节主要针对此常识的学习以及使用展开,分析理性时序[远果,吃]!->{mv}的形成,以及使用其进行评价不能吃;

回顾:

  在以往,he采用了外围循环mv-,的感性方式进行远果不能吃的处理,而现在发现焦急情绪,因触发条件等,并不足够 (就是不够规律,不够熵减),所以我们需要找出更加规律的方式。

  本节将在mv-的方式上,扩展mv0,并且将扩展理性方式,来分析全面解决此问题的方式。但在目前的v2.0中,未必就全部代码实现,因为原则上,只要v2.0能够实现小鸟演示的需求,即止,其余部分全部在v3.0或以后再行迭代完善。

符号说明:
  1. !->{mv}: 表示fo未指向mv;
  • 18081_分析远果不能吃的理性与感性
  1. 理性上,无法吃掉,即为不能吃;
  • 如:[远果,吃][近果有,吃,近果无];
  1. 感性上,mv<=0,即为不能吃;
  • 如:[远果,吃]!->{mv}[毒蘑菇,吃]->{疼mv-}
  1. 分析:本节重要采用感性方式来实现,原因如下:
  • 过度抽象问题:如[果,吃]->{饱mv+}在过度抽象的时序中,并没有的概念;

  • 理性方式的复杂度太高: 因mv指导一切意义的原则,吃不掉未必不能饱,吃掉也未必能饱5%;

  • 感性方式的实现分析: 只要吃掉坚果,立马会mv+,而未吃到,则各种混乱,最终抽象出的也不会是{饱mv+} 95%;

  • 白话结果: 我们总是优先关注mv+,所以mv0则学习起来略慢,但最终只要可以学到即可;

  • 18082_学习远果不能吃常识 (学习过程分析)
  1. 初版,针对感理性都有涉及 (完成度15%) 废弃,>=v3.0再迭代支持
  • TIR,形成内存fo1[远果,吃]
  • TIP,偶尔形成fo2[远果,吃]->{更饿mv-}
  • 第一步: 考虑,对fo1的持久化;
  • 第二步: 考虑,对fo1的抽象 (形成确切的不能吃);
  • ...后选用感性mv0方案后,中止了此分析 (参考18081);
  1. 二版,针对感性的mv0进行学习; 采用
  • 第一步: TIP,偶尔形成fo1[远果,吃]->{更饿mv-}

  • 第二步: TIP,偶尔形成fo2[远果,吃]->{焦急mv-}

  • 第三步: 各种f1,f2,fn...进行抽象,形成absF3: [远果,吃]->{无定义mv-或mv0}

  • 完成: absFo3可用于感性远果不能吃,且可训练 (训练略慢些);

  • 注: fo1和fo2属于试错学习,其实只是未习得前,的训练过程而已;

  • 18083_使用远果不能吃常识 (判定不能吃)
  1. 初版,针对感理性都有涉及 (完成度60%) 废弃,>=v3.0再迭代支持
  • 前提: 形成[远果,吃]!->{mv}(未指向mv)后;
  • 判定: 在行为化中,进行理性判定,远果不能吃;
  • 分析: 不能吃在理性上判定有两条,一是无法吃为(果无),二是无法解决{mv+};此处采用第二种;
  • 代码: 取到fo[远果,吃]未指向mv,故判定无法解决饥饿问题;
  • ...后选用二版感性方案后,此分析中止 (参考18081);
  1. 二版,针对感性的mv0进行使用; 采用
  • 第一步: 取到absFo[远果,吃]->{无定义mv-或mv0};
  • 第二步: 感性评价mv的负或0,远果不能吃,并转移为距离问题(18075已解决);
18084 TODOLIST STATUS
1 把demo中,吃不能吃的坚果时,可以随机30%触发小鸟更饿,或者计时器,10s内未吃到时,则触发更饿,因为未吃到食物的饱腹感; T
2 训练:1.决策[远果,吃]; 2.形成[远果,吃]->{更饿};
3 测下,在行为化分析中,[远果,吃]并未指向{mv+},导致感性判定为远果不能吃;
4 训练得到确切的absFo[坚果,吃]->{饱}; T
5 在外类比中,对时序的有序性做处理; (原先的类比是无序的类比方式) 转至n18p11
18085 BUG STATUS
1 点击乱投-马上饿后,行为化成功,但有不止一个输出; T
分析: 因为在n18p5_bug9瞬时记忆不清空了,所以导致确切的[坚果,吃]->{饱}需要多次训练得出; T
解决: 参考18101_2 T
2 在多次,运行->直投后,形成的抽象时序长度为4,但引用的节点数为2 (经查为[坚果,坚果,吃,吃]);解决方法: 外类比应改为有序类比; 转至n18p11
18086 疑问:在18082二方案第三步,f1f2不会触发外类比抽象;
原因: 在外类比是TIP触发的感性联想,所以非同类型的mv压根不会联想到;
分析: 基于思考即构建的原则,从什么时候会思考到相关数据入手,分析以下方案:
方案1 在TIR_Fo中,是否可以进行理性外类比; 40%
否定: TIR时,无mv指向,但识别到的matchFo却有mv指向,两者无法类比;
尝试: 在TIR_Fo时,多识别几个matchFo,并进行类比; 可解
方案2 在行为化,反馈中进行类比 5%
否定: he中,不存在反向反馈,只有正向循环;
方案3 在多次TIP后,进行外类比; 40%
否定: 在多次TIP导致同类型mv时,会认为远距果,越吃越饿,这显然是不正确的;
尝试: 多次TIP,各类型mv各自抽象,导致[远果,吃]->{饿}和[远果,吃]->{焦急}两个抽象时序,会同时存在,但无论哪个存在,都可以正常执行负评价; 可解
综合: 以上有1,3两个方案可解;
1. 方案1中,TIR_Fo为识别阶段,不建议进行过多的联想与外类比; 20%
2. 方案3中,多个抽象时序同时存在,这个是ok的,且够简单够用; 80%
总结: 目前,选用第3方案,在未来不排除选用更好的方案;






n18p9 训练整体步骤记录

CreateTime 2020.02.12

  1. 习得absFo[坚果,吃]->{饱}
  1. 运行->直投,直投 抽象出[坚果,吃,]->{饱}
  1. 习得远果不能吃

注: 此步,进行先马上饿远投,因为识别时序[远果,吃]预测符合->{饱},所以无法形成需求,所以此处先远投马上饿;

  1. 远投 需重运行
  2. 马上饿;
  3. 行为化:输出行为;
  4. 点击马上饿; 注: 以上四步,应构建[远果,吃]!->{mv}
  • 2-4 问题:
  1. 到外类比处,查看远距坚果的类比情况,看能否抽象出距x坚果;
  2. 就算抽象出距x坚果,依然有问题,即x-1坚果呢?x-2呢?难道百种距离就要抽象百种远果吗?
  3. 所以引出稀疏码模糊匹配任务,见n18p12;
TODOTEST DESC STATUS
20200308 训练至2-4步可得[远果,吃]->{mv-},但同时也有很多过度抽象的常识,如[空场景]->{mv-},调试一下,这是否对后面决策等造成影响;
20200309
如图,正常训练至2-4步后,再重运行,远投,只识别出matchAlg23,且A23有3个具象节点,但却没识别出fuzzyAlg,且A23.content_ps竟然为空;
问题1: 为什么会识别到matchA23这种稀疏码为空的节点;
问题2: 为何有matchA23,有3个具象节点,却无法fuzzyAlg识别到结果?
20200311 识别到的抽象Alg.content_ps为空的问题;
训练: 直投,直投,乱投,马上饿,马上饿,返回页面重进,再远投;
描述: 此时,节点显示绿色为坚果,content为0,但却被坚果的value所指向;
15号更新: 点击直投,直投,重启,远投,发现读到为0情况,截图如下:
分析: 在从XGRedis取值,最开始为5,突然变成0,待调试日志继续断点查明;
20200310 查下为什么那么多远投坚果,最终 (Height5).refPorts才3个;
20200315 非全含导致的识别alg失败 T
原因: 因每次都在同一位置,导致抽象坚果,只在一个位置被抽象,远投更换了位置,自然无法全含;
解决: 点摸翅膀,再直投,重复几次,即可;
疑问: 重启下app后,好像远投,还是无法识别; T 参考18162
20200315 Terminating app due to uncaught exception ‘NSGenericException’, reason: ‘*** Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated 将异步存heLog去掉,暂未再闪; T






n18p10 思维控制器协作迭代 (废弃,目前无需迭代)

CreateTime 2020.02.12

名词解析:
  1. 区间: 在瞬时记忆序列中,以mv为一个中间点,那么中间点之间,为区间;
  2. 前置: 在每个fo->mv模型中,fo表示前置信息;
本节说明:

  在以往偏感性思维时,he中很多思维都是以TIP来触发的。但在过去半年迭代了更加理性的思维后,有了两条触发路径:

  1. TIP->TOP->TOR
  2. TIR->TIP->TOP->TOR

  随着越来越完善的理性支持,触发上也需要变得越来越向理性触发偏移。本文将以此问题为切入,思考he中四个思维控制模块间的协作,主旋律是从TP触发向TR触发转变。

18101 一种新的TC协作方式 >> (废弃,参考本节下文)
1 帧视觉,按1s每帧;
解释: 用于触发,在TIR时,直接过度到TOR进行决策,而不是保留lastMatchModel
反例: lastMatchModel的方式,虽然看似是最近的,但显然亦非实时,故迭代后是一种改进;
废弃: 因在v2.0中,触发式视觉足够用,吃食、车行进等都可以用demo触发;
2 瞬时在新mv输入时进行清空; (废弃,参考:18103)
解释: 跨区间会产生很多问题,更多的杂乱信息,如[远果,吃,近果,吃,飞]->{饱}
解释: 跨区间导致很多别的mv的前置信息,与当前mv并不相关,如[红灯,饿,近果,吃]->{饱},其中红灯与饱无任何关系,但却因跨了区间而导致干扰;
3 新的mv输入到TIP后,仅做demandManager的更新,而不做决策; (废弃,参考18102)
4 而在TIR后,再进行识别预测,并转至TOR进行决策; (废弃,参考18102)
18102 TOR的触发问题分析
1 由TIP触发; (v1.0时方案,太感性)
2 由TIR触发; (v2.0新增)
3 都会触发,协作; (v2.0方案,如下图:)
示图
说明 上图中,AB两条路径,无论感性还是理性,都已支持完善,所以下面通过实例,来展开细节进行分析;
18103 实例细节分析是否清空瞬时
示例1 [远果,马上饿,飞,吃]->{饱}
1. 看到远果,并形成lastMatchModel到TOR中;
2. 点马上饿,清空瞬时记忆,并触发决策;
3. 在决策中,通过MC行为化,并到坚果附近;
4. 掉坚果,并变;
结果: 以上因清空了瞬时记忆,只能生成fo[飞,吃]->{饱}
总结: 以上导致的问题是无解的,所以不应清空;
示例2 [车撞,疼,红灯,饿,近果,吃]->{饱}
1. 在车撞疼,红灯饿,近果吃,三个区间都不进行清空;
2. 这导致,生成的时序更加模糊,也需要更多的类比抽象,来确切化;
总结: 以上导致的问题,是可解的,只是需要多几次抽象训练,所以不应清空;
总结 依以上两个示例结果,瞬时不应在inputMV时被清空;






n18p11 外类比迭代-支持有序

CreateTime 2020.02.14

  在v1.0的外类比中,直接使用两个for循环嵌套来类比,并且判定条件为最简单的contains(),而事实上fo本来就是有序的,所以本节重点迭代外类比,使其支持有序化类比。

18111 举例
当前 f1[a,a,b,b] 类比 f2[a,b] => absf3[a,a,b,b]
改后 1. f1[a,a,b,b] 类比 f2[a,b] => absf3[a,b]
2. f1[c,a,b] 类比 f2[a,b,c] => absf3[a,b]
综上 1. 记录一个curIndex来记录当前已类比进度;
2. 倒着来匹配 (因后面比前面相关性更强);
BUG STATUS
1. 在新运行:直投,直投,外类比后抽象出了[吃,坚果]时序,而非[坚果,吃]时序; T






n18p12 TIR稀疏码模糊匹配

CreateTime 2020.02.20

  在训练远果不能吃时,发现远果,有上百种距离,我们无法针对上百种稀疏码分别构建上百种概念与时序,来表达远果不能吃

  所以本文将提前实现稀疏码模糊匹配功能(原计划在v3.0),来解决这一问题。

名词解析:

  1. 临近度: 比如根据5,找到临近的4和8,那么判定4比8更临近;
  2. ft稀疏码: 前身为动微信息,后废弃掉,但这次需要重新写回,ft稀疏码也是稀疏码;
  3. v稀疏码: 单值(静态)稀疏码,前身为静微信息;
  4. 最小范围<f,t>: 比如根据5,找到<f3,t6>和<f2,t9>,那么<f3,t6>范围更小;

总结: 本节至18128表,方案2,转至n18p13

18121 支持前的描述
1 [距169果,吃]!->{饱},[距168果,吃]!->{饱},[距...果,吃]!->{饱}...
总结 我们无法描述所有的距离情况,而模糊匹配可以解决这一问题;
18122 两个模糊匹配方案
方案1 临近度排序,并依次匹配,即169取不到,则尝试168,170,167,171... 30%
缺点: 性能不好;
优点: 简单灵活,且稳定达到效果;
方案2 在每次根据监控度匹配后,生成一个from-to稀疏码,方便复用,复用时只要包含在from-to之间,即可; 30%
缺点: 固化,如无法解释:美术生从一种红,认识到数几种红;
优点: 性能好;
方案3 将方案1和2进行综合,1做开头,2做结尾,每一次1又略影响2; 90%
优点: 性能均衡,灵活性均衡;
18123 方案3分析
示图
1 在最初时,找到最临近的稀疏码,并对其refPorts,进行匹配;
成功: 则生成新的from-to;
失败: 则跳转到下一步;
2 上步失败时,找到匹配的最小范围<f,t>,并对其refPorts,进行匹配;
成功: 得到resultAlg;
失败: failure
3 问题:
1. <f,t>的排序问题,比如<f3,t6>和<f4,t8>哪个排前面?怎么排才方便查找;
2. ft.refPorts何时被引用,能否由v.refPorts在合适时机继承过来;
18124 代码实践
1 制定一个活跃度,比如3.0,每帧视觉时,都可以有此活跃度供TIR使用;
2 在TIR识别中,使用此模糊匹配功能;
18125 隔日更新分析 废弃ft稀疏码
论断 在稀疏码中,其实很难建立ft;
实例 比如3-5距离的坚果不可以吃,4-8距离的坚果可以打人;
疑问 那么,我们应该建立f3t5呢?还是f4t8呢?
解答 ft的范围,是取决于其概念,时序,甚至其意义取决于mv;
结果 所以很难建立ft,来达到索引到合理的alg,fo,mv的目的;
18126 实例训练步骤
1 输入0果可吃,f1[0果,吃]->{饱}
2 输入169果不可吃,f2[169果,吃]->{mv-}
3 输入1果,模糊匹配到0果,但最终并不可吃,f3[1果,吃]->{mv-}
4 输入50车,模糊匹配到1,并匹配为远处的物体; [50车,撞]->{疼}
5 输入100果:
a. 模型匹配到50,识别为远处的物体,预测并不能解决饥饿问题,继续再识别;
b. 模糊匹配到169果,预测不可吃,但MC发现0果可吃,所以飞行解决距离问题;
Q 在第5步中,直接进行识别a&b两条,还是a不行,再来b?还是从a和b中挑最全含的?
A 从a和b中,挑出前limit个refPorts,并组成sumRefPorts 见18127;
18127 TIR_Alg应用模糊稀疏码
示图
说明 在refPortsBlock中,对模糊匹配的value_p.refPorts也进行取用,并依次放到原refPorts之后,以进行兼容模糊稀疏码作用于识别算法;
18128 18127使用依次排sumRefPorts的问题
示图
问题 sumRefPorts可能拼很多value_p.refPorts,有三大问题;
1. 效果不好,不稳定 (不总是能够联想到,比如:当距离有1-169种,1和169描述坚果,2-168描述汽车,我们根据169拼接sumRefPorts时,会有大量的无效,最终还得不到好的效果;)
2. 性能差 (太多value_p.refPorts索引操作,性能差)
3. 准确度问题 (即有可能识别为不匹配的结果)
方案 方案1: 考虑以当前要识别的alg为中心,进行判断; 0%
否决: 因为alg还未识别,alg很难提供帮助到有效判断的信息;
比如: 我们想通过别的坚果,知道坚果的距离只有1和169,但我们还未识别,所以无法做此判断,这是无解死循环;
方案2: 因TIR是建立向抽象方向建立关联,所以对于特化信息 (如距离)在TIR中不进行处理,而延迟到TOR.MC中再进行处理;参考:n18p13 80%
TODO STATUS
1. 在外类比时,支持ft稀疏码和单值稀疏码间的类比 废弃 见18125 & 迭代计划3
2. ft稀疏码序列的排序; 废弃 见18125
3. 在TIR识别中,使用此模糊匹配功能;
4. 每帧添加3.0的活跃度; 使用配置参数来配置联想limit来解决;
5. 在TIR中,消耗活跃度; TIR不消耗活跃度
6. 对识别到的matchModel进行TOR,判定无用时,重新进行识别 参考18127






n18p13 TOR稀疏码模糊匹配

CreateTime 2020.02.23

  当我们发现问题,思考问题时,恰好就是解决的最佳时机;在155距离坚果是否可吃的问题中,当我们思考155距离坚果是否可吃,恰恰就是评价时机,也是与以往坚果进行模糊匹配并评价的时机(如153的坚果不能吃,155大机率也不能吃)。

  本节中,将在TOR.MC中进行Alg同层思维操作,进行稀疏码的模糊匹配并评价。

注: proto的同层,即是match的下层;因为matchAlg是protoAlg的抽象概念;

18131 说明
简介 对MC中,换成protoAlg进行行为化,并且对特化信息做反思;
分析 在MC中,可以做同级的判断 (此时具象直接指向),根据同标识value_p下值的相似度,进行预判,返回评价结果;
18132 代码规划
1 在MC匹配中,将_value行为化时,以protoAlg.value作为基准;
2 在MC匹配中,将_value行为化时,步骤如下:
a. 取protoAlg同标识的_value为值;
b. 先联想同层algs并评价 (需要支持同标识稀疏码的模糊匹配,然后类比评价);
c. 再尝试找cGreater/cLess进行行为化;
18133 同层Alg._value的模糊匹配与类比评价细则分析 (结合实例分析)
联想阶段 1. 取得protoAlg._value的值为[distance:8]
2. 根据matchAlg联想conPorts前10个,判断含distance标识_value的有[A1,A2,A3,A4];
3. 从7个结果中,分别取出_value的值为[A1_1,A2_5,A3_10,A4_168];
4. 根据最相似度排序为[A3_10,A2_5,A1_1,A4_168];
评价阶段 5. 依次从前到后,进行价值评价;
方案1: 从MC中的CAlg中,找到CFo,并向具象找包含了A3_10的时序; 5%
方案2: 将A3_10提交到TIR进行识别,并最终给出时序和价值预测; 5%
方案3: 将A3_10与curFo组成新的TRFo,并提供给TIR_Fo进行时序与价值预测; 90%
方案1优点: 性能好 缺点: 可能导致找不到包含A3_10的时序,可能CFo需要向具象取N层导致性能问题;
方案2优点: 符合反思做法 缺点:性能略差,可能预测到的价值与当前任务无关,如饼干可以做玩具玩开心,但我并不爱吃饼干;
方案3优点: 符合反思做法 缺点:暂无
结果: 选择方案3;
行为化阶段 10. 找cGreater/cLess时序进行行为化;
11. 飞行行为,要带方向参数,所以需进行飞行训练;
18134 联想阶段v2.0
问题 外类比抽象概念时没有from_to,故18133_2中:conPorts并不能取得多种值
方案1 使外类比抽象概念时,支持from_to;
分析: 弱点太复杂, 采用 5%
方案2 不取matchAlg.conPorts,而是取matchAlg的同级节点,来找出同区各种值
分析: 简单方便, 采用 95%,如下图:
示图:
方案2示图步骤说明
1. 取到matchAlg的最相似,且不包含value标识的absAlg: result1;
2. 取result1的conPorts前20个: result2;
3. 对result2筛选出包含同标识value值的: result3;
4. 对result3进行取值value并排序: result4;
5. 对result4中前5个进行反思; 跳至评价阶段,此处略...
疑问 方案2中,matchA2中,可能不存在d4距离,而只在protoA1中存在;
原因: 因为吃不到的坚果距离多变;
解决: 在MC中,对比value时,可以到protoA1中去找同标识值;
18135 本节所需的测试训练
1 测试代码流程逻辑正确;
2 测试评价阶段,进行方案3,反思评价是否正确可联想到:"无果不能吃";
3 测试行为化阶段是否可正确执行飞行;
4 训练飞行;
18136 对MC实现稀疏码模糊匹配的总结以及质疑
总结简图
质疑 稀疏码模糊匹配是否应放到TIR_Fo中,因为在TIR_Fo中,已经有了matchAlg,也可以做同层Alg的分析,与预测;
最终 至此,MC稀疏码模糊匹配的代码已经初写完,先搁置不用,先做n18p14做理性远果不能吃;






n18p14 理性解决远果不能吃

CreateTime 2020.03.05

  过去一个月,在解决远果不能吃的问题,后重点从感性角度进行了解决,然后又因此而做了稀疏码模糊匹配功能,但目前想重新回到理性角度,去解决此问题,本节重点从理性角度分析远果不能吃问题;

18141 理性解决远果不能吃方案
描述 [远果有,吃] 与 [近果有,吃,近果无]
说明 从以上描述中可见,远果很明确不能被吃成,即行为化Alg会失败;
代码 如果不好操作,那么我们可以新增一个虚拟的嘴巴触摸信号 (如触或味觉);

本节中止: 因目前用感性可以先训练小鸟,待下版本,或者必要时,再迭代支持理性吧;






n18p15 TIR_Alg中解决稀疏码模糊匹配V2

CreateTime 2020.03.05

  在模糊匹配中,即使我们不进行任何决策,也应当是会模糊识别的,而到了决策期,再反过来进行模糊匹配,会使性能更复杂,因为模糊匹配是非常偏理性识别的,所以本节将模糊匹配的重心从TOR.MC中重新回到TIR中,再结合18134的示图成果,重新考虑在TIR_Alg中,实现模糊匹配;

18151 TIR_Alg进行稀疏码模糊匹配示图 >>
示图
说明 1. 以前是将a2识别为matchAlg,现在是a4;
2. A2虽然是全含的,但缺失细节,导致随后的决策也受其影响 (如无距离的坚果,判断不了距离产生的问题)
3. 示图中,将红粉色(偏红)最终识别成了红色;
4. 并以此来直接影响其后的,时序识别、价值预测、决策。
Q MatchAlg是A4的话,A1与A2还是A4进行抽具象关联?
A 暂保持A2,看后面代码改动时,答案自浮现;
18152 训练步骤
1 学会[距0果,吃]->{mv+}
2 学会[远果,吃]->{mv-}
3 远投TIR看到距27.6489果,识别absAlg=无距果 match=距30果
4 马上饿,根据match行为化,找到距离问题,并找[5向远->5向飞->5向近]
5 输出5向飞;
向=方向, 距num=距离num, 无距=不含距离特征, 远果=距离>0
18153 迭代计划
简介 在v3.0中,在algNode中支持value的from-to,如下图所示:
示图
说明 1. 图中蓝色为旧有做法, 绿色为迭代新做法;
2. 图中alg节点有特征的from-to表示;
3. 并且在模糊匹配同级时,会产生新的中间抽象节点;(见图中绿色大猫节点)






n18p16 规划性训练

CreateTime 2020.03.16

说明: 前段时间一直卡在几个小bug上(识别概念稳定性问题),但却要卡很长时间。
  而从细节分析中,可以找出很多细节信息,避免明明不是bug却一直想找出bug,或者明明有bug,却很难找出问题所在; 本节就从边训练边分析细节,来推进测试和训练的进程,避免被小问题久久卡住。

  1. 先规划后训练;
  2. 从微观一层分析训练中的问题;
18161 训练步骤细节分析版: STATUS
A1 直投 T
生成conAlg(g255,size5,pos38,dis0) T
A2 直投 T
生成conAlg(g255,size5,pos38,dis0) T
=>抽象出absAlg(g255,size5,pos38,dis0) T
A3 重启,移动,并直投 T
生成conAlg(g255,size5,pos27,dis0) T
=>抽象出absAlg(g255,size5,dis0) T
B4 重启,远投,马上饿 T
生成A6(g255,size5,pos19,dis7)->{饿} T
=>识别失败,因从未见过dis!=0
B5 马上饿 T
生成A7(g255,size5,pos19,dis7)->{饿} T
=>A6类比A7,抽象出absA8(g255,size5,pos19,dis7)->{饿} T
解释: 因为瞬时不清空,所以A6A7所在时序都含A6,故抽象出A6->{饿} 转TODO_Q3
注: 日志中,显示识别成功了,回头查下为何? TODO_Q4
B6 重启,远投(投向与A6不同的方向),马上饿 T
生成A9(g255,size5,pos23,dis9)->{饿} T
=>识别失败,因从未见过pos23,dis9 转TODO_Q1
=>A9类比A8,抽象出absA10(g255,size5)->{饿} T
=>BUG_TIR有场景和坚果,两个概念需要被识别,第一个识别A10成功,第二个长度却变成0 TODO_Q5 T
B7 返回,重进成长演示页,远投 T
生成A11(g255,size5,pos24,dis12) T
=>识别matchA = A10(g255,size5) T
=>识别fuzzyA = A9 转TODO_Q2
C8 重启,远投上,摸翅膀上 T
=>内类比发现距离大小变化; BUG_1,2,3
=>内类比产生大量的节点; TODO_Q7
=>内类比构建F1[距大,飞0.375,距小] T
C9 再摸...(可先省略不训练) 暂略
=>内类比,从各种飞行角度,发现与距离的变化的映射,生成:
=>F2[远距,飞3,近距] / F3[近距,飞7,远距]
=>内中有外,构建越来越强的[远,飞,近]时序 TODO_Q8 T
=>内中有外,构建了过度收束的时序[远,近] BUG_4
D10 重启,远投上,马上饿
说明: 需要联合ABC全部训练过来 T
TODO_查看shortMatchModel.matchAlg是否是坚果; T
=>执行TOR.MC_Value(),并决策输出飞行;
=>MC行为化输出了,而不是,参考BUG_6
=>MC_Value进行反思时,总是匹配不到时序; 转至TODO_Q9
=>MC_Value到RelativeValue行为化BUG_7 BUG_8
18162 规划性训练结论总结
1 关于alg非全含BUG:
从1-3步可知,直投的dis永远为0,故无法作为远投时,进行识别,所以非全含是正常现象;
2 单元测试
以上某一组步骤可以做为单元测试,如A组1-3,B组4-7;
3 分组训练目标
A组:果可吃;
B组:远果不能吃+模糊识别;
C组:学习飞行,并用来解决距离问题+内类比
D组:决策,并输出飞行离坚果更近;
TODOLIST DESC STATUS
Q1 识别部分,如果模糊匹配是否可以识别为A6?原先先match后fuzzy的方式,是否不妥? 目前并无不妥,后再细虑
Q2 识别fuzzy部分,如果模糊匹配支持多个稀疏码,就可以成功识别为A9;此处需看下代码是否已支持,如不支持,需迭代支持下; T
Q3 在饥饿mv发生时,是否将内存时序A7进行持久化?否则一重启立马又忘了,自己上次怎么饿的; 目前暂时不动,后续再考虑; T
Q4 在不该识别成功时,识别成功了,需查下细节原因; 不复现
Q5 估计这里就是前面概念长度为0的大BUG来源; T
经查: 概念长度为0的bug竟然与matchAlg2FuzzyAlg()算法有关,两个识别循环第一轮结束后,调用了此方法,第二轮就直接成0了; T
解决: 发现在SMGUtils.removeSub_ps()方法中,将原parent_ps进行了remove导致bug (此bug即会导致此bug,还有曾在网络可视化中常见的content为0,也是此处导致); T
Q6 内类比不支持多码不同,导致无法充分类比出变化; 转至n18p19
Q7 内类比产生大量节点是正常的,但要思考下是否可以去重,然后将去重的变化absNode与conNode关联; 看了下代码,目前稀疏码和概念有去重,时序没有;
Q8 内中有外的构建,并未构建出越来越强的[远,飞,近],因为时序未去重,所以几乎所有抽象[远,飞,近]的强度都是2,强度一致时,第二排序因素是新在前,所以每次联想新的,也构建新的,都只能强度加到2; T
解决方法: 将内类比时序,加上去重 (暂只加内中有外的抽象时序); T
Q9 在MC_Value方法中,重组rtAlg后,需要反思评价,但时序识别总是失败;
分析: 经调试,发现TIR_Fo_FromRT()中,在[远果,吃]的识别时,以(吃)为索引,导致索引到的四条refPorts中,都不包含(远果),所以索引有效0条; T
解决方案: 看能否改进下TIR_Fo_FromRT中的索引;
BUG STATUS
1. 内类比的大小,有可视化中却显示有无 (因NSIntegerMax太大被double精度损失太多) T
2. 内类比只发现了速度的变化,没有发现距离变化 (不支持多码不同导致,转至TODO_Q6); T
3. 内类比,range长度为0,应该有行为"飞"节点才对 (不支持多码不同导致,转至TODO_Q6); T
4. 在内中有外的训练中,fo1[远,飞左,近]和fo2[远,飞左下,近]类比后,得到fo3[远,近],而丢失了飞的行为概念; T
> 解析: f1,f2,f3谁更可信,在于其出现次数,本质是优胜劣汰; T
> 问题: 所以真正的问题在于如果取到更精准的assFo,进行外类比,如下图: T
> T
5. 综合ABCD训练,忘了B7,直接C8,发现索引data中,速度0(pId=5),取出来稀疏码nil,后重新训练,无法复现; T
> 在正常训练下,1-8正常,9略过,D10时,能够复现速0.refPorts为nil,导致识别失败; (因AINetIndex中为0时,endIndex=-1,导致入索引错误导致,将endIndex加上必须>=0的判断后,此bug修复;) T
6. 远投后,MC行为化结果为,而不是的问题,转至n18p20
7. M特化值:经266,在反思时,重组[经266,高5],识别后,得到[距20,经266,高5],其中杂质距20导致评价失败; T
> 分析: 这说明对于rtAlg的识别方式,是有问题的,得改; T
> 结果: 已迭代了TIR_Alg_FromRT算法 转至n19p2; T
8. 下投坚果,行为化为飞上,导致更飞远了;
> 分析: 小鸟只经历过飞上,离上坚果更近,所以这里要加入对方向的判断,抽象出不同方向坚果进行不同方向飞行的知识;
18163 综合训练记录 总结
20200330晨1 A1,2,3,B4,5,6,C8 漏了B7,参考:BUG5
20200330晨2 A1,2,3,B4,5,6,7,C8,D10 D10时,可复现BUG5
20200331午 A1,2,3,B4,5,6,7,C8,9略,D10 D10测试中...






n18p17 fuzzy算法迭代v2

CreateTime 2020.03.19

  在规划性训练第7步,必须支持多个稀疏码的模糊匹配才可以训练成功,并且随便着把返回result也改为数组:fuzzyResults。
  本文对稀疏码模糊匹配进行迭代,结束后继续训练。

18171 fuzzyV2()示图
示图
说明 1. 图中含参数为:proto(v1,v2,v3) match(v1)
2. 图中同级节点为: con1(v1,v2) c2(v1,v3) c3(v1,v2,v3) c4(v1) c5(v1,v4)
3. 结果: c4,c5被淘汰,返回fuzzyResults=[c3,c1,c2];
4. 排序规则: 一级为量匹配度,二级为值相似度;
18172 测试BUG STATUS
1 不能模糊匹配proto自己; T
2 相似度排序反了,改正; T
3 会模糊匹配到自身的场景视觉节点 (加了except_ps); T
4 发现proto有关联到不该关联的具象场景 proto为距离57 具象场景为距离153;






n18p18 内类比转至TIR

CreateTime 2020.03.21

  原计划是v3.0时将内类比转至TIR中,但在n18p16C组训练飞行时,太过麻烦(需要不断用mv来刺激内类比),所以索性现在就将内类比转至TIR中,本节主要整理转移内类比过程中的一些问题。

18181 内类比转至TIR
示图
说明 1. TIP为从前向后依次内类比,且为二层循环;
2. TIR为从后向前依次内类比,只需一层循环;
总结 本次改动,将理性的内类比回归到TIR中实时运作,同时避免了mv输入时,牵连he进行过多的理性思考;
TODO STATUS
1. 将TIP中调用内类比去掉 T






n18p19 迭代内类比支持多码不同

CreateTime 2020.03.23

  在训练C组飞行时,he仅认识到速度的变化,却没有认识到距离等别的变化,参考n18p16_BUG2、BUG3、Q6。本节对内类比算法进行迭代,支持多稀疏码的不同,以解决此问题。

18191
现做法 描述现在的做法
1. 在algA和algB的内类比中,互减得到集合subA和subB;
2. 假如subA=1&subB=1则处理value大小变化;
3. 假如subA>0&subB=0 / subA=0&subB>0则处理alg有无变化;
新做法 规划新的做法
1. 对有无应基于抽象做 (因为此前已经关联至matchAlg);
2. 对大小应支持所有同标识的value变化 (而非限于1条);
18192 代码规划
一: 大小 在aSub和bSub中,找出同区不同值的结果,并形成大小变化时序;
举例 西瓜变西红柿,尺寸变小了 并且 颜色变红了;
操作目标 protoAlg
示图
二: 有无 从A.absPorts和B.absPorts中找有无变化,生成时序;
举例 前提: 黑蘑菇有毒,白蘑菇无毒;
如果: 用火烤可以将黑蘑菇变成白蘑菇;
那么: 我们会认为火烤可能能去毒,而非仅仅是变色;
操作目标 matchAlg
示图






n18p20 MC行为化-创造力迭代

CreateTime 2020.03.31

  规划性训练从A到D组一路训练过来,到D10时,远投坚果,发现MC行为化并不能正确输出,而是错输出了。根据网络可视化进行初步分析,发现目前MC的(mcs&ms&cs)的方法可能并不能支撑以此类情况。所以本节重点分析MC的迭代,以使此类情况可以正确的行为化。

  本节将涉及到重组RTAlg,以填补以往创造力只有RTFo,而没有RTAlg的空白。
概念解析:
  创造力:是使用抽具象与分节点,重组成组节点的过程。
缩写说明

  1. M: MatchAlg
  2. C: CurAlg
  3. A: Alg
  4. V: Value
18201 BUG相关网络片段示图解析
主图
副图
说明 1. A1不能吃,A2能吃,但其共同抽象A3时能时不能吃;
2. A3在概念上更确切,在导致的价值变化上却更模糊 (这并非异常,模块内的确切化与模块间的确切化,没有绝对关系) (有时概念抽象使价值确切不可吃如有毒,但有时抽象失真反导致价值更模糊如无距果到底能不能吃);
解决方案1 可尝试对M,对mcs也进行反思;
本方案,需要深入分析,转18202;
解决方案2 可直接对C找cHav解决方案,并在匹配时,加入M参考,即M无C有;
本方案,可拆分为两步,即先根据C找cHav,再将C转移为cHavFo中的概念,此时再MC行为化,所以此方案,与现在的做法并无不同,事实上这并不能解决当前所遇的问题;
18202 进一步分析反思评价 & RT评价双定律
第一定律→ RTFo有可能对价值的正负影响同时存在;
示例1 手可以摸人,也可以打人,同样的手,同样的触碰行为,只因力度不同;
示例2 有时[无距果,吃]->{mv+},但有时[无距果,吃]->{mv-}
解决方法 评论Alg,则需要右向性,进行多元评价 (识别RTFo可能导致的多种mv);
简述 多元反思评价;
第二定律↓ 概念抽象更确切,不表示与其对应的价值也更确切;
示例 距0坚果可以吃,不表示无距坚果也可以吃;
解决方案 当遇到价值不唯一时(定律一),则需下向性,对具象进行同级类比,找出不同content,并用_Value行为化解决;
简述 特征重组的判断;
第三定律 时序的确切化,必然对应着价值的确切化;
示例 因为时序外类比,是依据mv来联想的,所以从抽具象端口取必然是价值同向的;
18203 代码规划
步骤 规划代码步骤,并依此撸码;
1 判断mcs是否时可行,时不可行,如果是,继续下一步;
2 取得M特有稀疏码:MValues = M.content - mcs - ms - cs)
3 取得C特有稀疏码:CValues = C.content - mcs - ms - cs)
4 从MValues中筛选出,在CValues也有同标识的部分,ValidMValues;
5 for循环ValidMValues,分别与AbsA进行重组;
6 将重组得到的NewAbs提交到RTFo重组,进行多元评价;
举例 黄色西瓜能不能吃?
解析 V1+A1重组,并评价;
结构 M为黄色西瓜,C为绿色西瓜,Abs为无色西瓜;
步骤 将V1黄色+A1西瓜,重组,并评价;
Q 为何不直接用M来评价?
A 因为M可能包含多个特化特征,必须逐个与Abs重组评价 (参考第五步);
18204 创造力迭代RTAlg
简介 以往在创造力上只有支持重组RTFo,本次迭代将重点将创造延续到RTAlg;
公式 RTAlg = V1 + absA1;
代码 根据创造力概念公式,将稀疏码与概念进行重组,并再次递归重组为RTFo,进行反思;
18205 RTAlg重组方案
1. 割裂方案 A和V各跑各的;
说明 从M和C中,找出同区不同值的value_ps,同区同值的same_ps,并逐个将value_ps中的稀疏码与same_ps重组成RTAlg; 5%采用
2. 组合方案 A跑一部分,V跑另一部分
说明 除了A(mcs+ms+cs)已处理之外的稀疏码vs中,找出同区不同值的部分,并逐个与逐个C重组RTAlg; 60%采用
3. 递归方案 V优先,A补上 此方案仅针对ms和cs
说明 当ms和cs不存在不同区不同值时,筛选了同区不同值:vs,和同区同值:same_ps,逐个vs与same_ps重组成RTAlg; 50%采用
注: 代码本已支持单条同区不同值的情况
4. 结论 采用2和3两个方案协作; 方案2负责完全特化的情况 方案3负责局部特化的情况
5. 实现 先实现方案2,方案3先不迭代,因为原来已经有局部支持,应该够用;
18206 第二方案-组合方案实践及问题
BUG 同区不同值,找的不够全面的问题: 假设M为[距63果],C为[无距果],则无法在MC中将同区不同值"距"筛选出来,M与C内容如下:
M内容:[速0,宽5,高5,形2.5,向→,红0,绿255,蓝0,皮0,纬556,距62,经213]
C内容:[速0,宽5,高5,形2.5,红0,绿255,蓝0,皮0]
解决方法: 取C所在的curFo.conPorts,从中找到与C对应的具象概念,并取得"距0",再与M的"距63"进行同区不同值对比;
示图:
说明: 图中,C无距,M有距,在CFo的价值确切指引下,我们顺利找到了包含距0的具象概念 (且排除了无效的距8概念);
BUG2 mcs为空时,重组RTAlg失败,导致无法反思;
分析: RTFo的重组,也是替换者,与CurFo重组,其实我们无论替换什么,还是要回归到CurFo和CurAlg上来;
解决: 改为与C重组即可;
BUG3 RTAlg的反思识别将关键信息识别错误,如下:
日志: [纬368,距62,向→,形2.5...]->[纬368,距0,向→,形2.5...]
BUG示图:
分析: 根据形,向,纬等,已识别到距0区,此时无论如何fuzzy的具象节点全是距0果;
解决: 从距63原本所处的M向抽象进行识别,找三层,总能找到全含,如下图:
示图:
说明: 根据MA向上找,总能找到全含匹配的A3,再根据A3向下进行fuzzy,总可以找到距62模糊最接近的A4; (以上显示已通过可视化实际调试查看,是可行的);
结论: 废弃此改动,因为太复杂了,不够简单是原罪;
18207 MC_Value迭代V2
简介 原先第一版MC_Value从具体角度思考太多,导致算法复杂,易出花样BUG;
原则 1. 想什么构建什么; 2. 剃刀原则;
分析 本表,将通过简化,重新设计MC_Value算法;
正文 MC_Value无非是要左向性到稀疏码模块,并分析出M中特有稀疏码部分,哪个码会导致什么问题,并解决之;
公式 MUnique = M.content_ps - C.content_ps;
Same_ps = M.content_ps & C.content_ps;
RTAlg = itemMUnique + Same_ps;
示图







TODO DESC STATUS
20200219 对18086,选定一种方案,习得远果不能吃的知识; 改为暂由感性实现
20200221 在MC匹配中,对matchModel取抽象判断等,但最终行为化时(比如飞行),要针对input概念来; 改用fuzzy替代match实现
20200308 神经网络可视化,支持触发角点击时,显示相应节点间的关联强度 T
20200308 提升TIR_Alg的识别稳定性,最初可识别坚果,后面再远投却又失败 T
20200309 排查一下,构建节点的初始强度,是否与mv正相关了;
20200309 根据蛇咬十年怕绳的示例,TIR_Alg()中应该分别对多个全含进行价值预测(如例中绳的形态非常抽象,但指向强烈的mv-,故此预测被重点关注)
测试进度 STATUS
神经网络
1. 稀疏码模块 已测
2. 概念模块 已测
3. 时序模块 已测
4. 价值模块 已测
思维控制器
5. TIP外类比 已测
6. TIPMV基本模型 已测
7. TIR概念识别 已测
8. TIR模糊匹配 已测
9. TIR内类比 已测
10. TIR时序识别 测试中
11. TIR价值预测
12. TOP决策 已测
13. TOR决策 (除MC外) 已测
14. TOR决策MC部分 测试中
15. 外层循环