
(Mindmap) Part-level Scene Understanding for Robots
A scene graph is a structural representation, which can capture detailed semantics by explicitly Modeling:
A scene graph is a set of visual relationship triplets in the form of <subject, relation, object> or <object, is, attribute>
Scene graphs should serve as an **objective semantic representation** of the state of the scenetzc转发的小红书推荐了这本书,推荐语:
做过很多爱,爱过很多人,被很多人爱过,才能写出这样的小书。
书很短,大概一给小时不到就能读完。但其实我读了一个半小时,主要是因为群友们在批判马提尼女士在恋爱中的🐢🐢行为,比较刺激所以时不时开小差看消息(对不起我紫菜)。
看完之后,无论是对书中的主人公还是马提尼女士,我都觉得她们在浪漫关系中能有此激情我真的很羡慕,我不希望她的这种激情被“利益分析”,“思考对方爱不爱自己”,过分影响。有的时候,浪漫关系,激情本身的存在,就是目的而不是手段。浪漫和激情不存在对错,只要自己能够承受,没有超过自己的度,那就没必要被批判。在我听来,分析对象是否爱自己(甚至是通过给自己花了多少钱的方式。。?),自己的爱是否值得,只不过是为了遮掩自己激情褪去的不堪。
于是晚上给马提尼分享了《简单的激情》。
爱欲就像海潮,涌起消退,重要的或许不是人,而是那种情愫,爱在某种程度上会物化别人,所以才需要提出“爱具体的人”,但是具体的人又岂是这么好爱的?情欲说到底还是一件自己的浪漫事。
三周年的post更多就是一种形式了,看了二周年的post, 感觉已经把我本人对于博客网的情感表达得较为详尽了,一年过去我并没有对此生发更多的感情了。看到自己在二周年的博客里提到了:
再往后就遇到了那个她,开始在博客上记录自己那股悸动的感觉,因为这种感觉不记录下来的话,就会溺死在往后的岁月里。当时真的从未想过我们会在一起,我感觉就是一个很特别的我喜欢的女孩子,她肯定有很多爱她的人并不渴求我的爱,毕竟牡丹这么多年了,这恋爱观念的惯性可不小。后来,她也看到了这篇博客,就这样,双向奔赴的我们以这种非常浪漫的方式在一起了。从此博客对我的意义,已经不再是可有可无了,是我的生活了。
不过很搞笑的是我写完那篇后过了20天我就失去了她,不过博客与我而言的意义依然没有太大变动,目前依然是我生活的一部分。
关于博客网本身确实每太多好生发的了,我还是主要写写这一年与博客有关的事情吧。
因为考虑到可能对彼此存在潜在的不好影响,所以我删除了网站上所有曾经的恋爱日志,并且更换了我后续日志的密码。
曾经在一次争吵中,她告诉我不要再把我写的东西印成书送给她,没人会想要读这些。我想也是,凡事都有两面性,曾经让人很爽的东西,也终于会慢慢褪色,会变成让人不爽的东西。有的时候我真的在想,或许在恋爱的时候不记录这些更好,或许恋爱的时候就享受恋爱本身,不过度反思的话或许反而能享受更久。曾经的我期望通过自省的方式让自己走在所谓的“正确”的道路上,认为这样走下去就能真的一直相伴下去。但我显然错了,两个人能相伴一生是因为他俩是彼此对的人,而不是因为其中一个人永远做他认为正确的事情。当然,分手是正确的,不尝试复合也是正确的,我一直这么认为。
之后的句号当然就很长了,有“这里一片荒原”,“鹭岛旅”,“Merry Go Round of Life”…分手后的情绪状态也是很宝贵的素材,我确实记录了不少,“Emmm this is my sorror it looks beauty”,但更多的是记录下了我疗愈自己的方式,导致我有的时候状态不对的时候都会打开通读一遍,看着脆弱的一个人慢慢把自己重新拼起来,是可以鼓舞我很久的。
\n
之后遇到了雪糕,某种程度雪糕重塑了我对于亲密关系的认知(人与人之间为什么可以做到互相理解到这个程度),这会让我意识到,或许我真的从未走进过一段亲密关系。我从此放下了对前任的执念了。
对了雪糕也有属于她的博客网,这上面(以及公众号“集闲殿”)的文章,已经影响了很多人。
最近其实真的有些麻木了,很少会花时间去感知,梳理自己的情绪了,但倒也没出过什么岔子。
我好像在忘记很多事情,过去一年的事情,如果不在博客上了,我大概率已经忘了个七七八八了,我很害怕。
看到国外的一个演讲,说,“如果你要做第一等科研的话,肯定需要夜以继日得思考你的课题,哪怕不在工位上,在餐厅,在淋浴房,在公园里,你的脑子都要像强迫症一样思考这个课题”,我深以为然,并且我几乎没有费什么力气就达到了这一点。不过这也导致我在日常中不再乐意把我的思维岔出去写日志了。
这些体现在博客网的话就是,最近的日志“让一切隐于晦朔,就在那月之暗面”,已经有半个月没有更新了,然后博客网充斥着一些读过的论文的痕迹。。。
我想这才是我从小到大真正的常态吧。
1 | pip install omegaconf |
1 | from omegaconf import OmegaConf |
You can create OmegaConf objects from multiple sources.
dict
1 | conf = OmegaConf.create({"k" : "v", "list" : [1, {"a": "1", "b": "2", 3: "c"}]}) |
list
1 | conf = OmegaConf.create([1, {"a":10, "b": {"a":10, 123: "int_key"}}]) |
yaml
1 | conf = OmegaConf.load('source/example.yaml') |
dot-list
1 | dot_list = ["a.aa.aaa=1", "a.aa.bbb=2", "a.bb.aaa=3", "a.bb.bbb=4"] |
1 | sys.argv = ['your-program.py', 'server.port=82', 'log.file=log2.txt'] |
LMOD
软件管理https://lmod.readthedocs.io/en/latest/010_user.html
交大hpc使用lmod
来管理用户软件,每一次重新登陆都会重置module,需要将软件重新load。
常用指令:
1 | ml # list these loaded modules |
oh-my-zsh
更好的shellhpc默认已安装zsh, 通过omzsh的安装脚本进行安装,并安装插件
1 | export CHSH=no # 避免它自动切换默认 shell(HPC 通常不允许) |
nvim
更好的编辑器因为在服务器上没有sudo
权限所以需要手动编译
首先使用conda创建编译环境
1 | conda create -n nvim-build cmake libtool gettext curl unzip ninja gcc gxx -y -c conda-forge |
clone & build
1 | git clone https://github.com/neovim/neovim.git |
某些情况下需要进行并行编译,编译需要耗费大量资源,并不一定可以在登录节点使用:
在这种情况下使用提交作业的方式较为低效,可以申请交互式计算资源1 | srun -p cpu -n 4 --pty /bin/bash |
1 | (base) chenyulin@pilogin2 ~> srun -p cpu -n 4 --pty /bin/bash |
使用hpc studio传输
https://studio.hpc.sjtu.edu.cn/pun/sys/dashboard/files/fs//lustre/home/acct-umjbyy/chenyulin/Data
例如拷贝conda环境
1 | cp -r /lustre/home/acct-umjbyy/chenyulin/.conda /dssg/home/acct-umjbyy/chenyulin/ |
“涌现”(Emergence)最早起源于哲学领域。19世纪,英国哲学家乔治·亨利·刘易斯次用这个词来描述那些无法通过组成部分的性质解释的整体特性,即“整体大于部分之和”的现象。
将一切都归结为简单基本规律的能力并不意味着有能力从这些规律出发,重建宇宙。在面对规模和复杂度的双重困难时,还原主义假说便崩溃了。在每个复杂度层次上,都会出现全新的性质。心理学不是应用生物学,生物学也不是应用化学。我们现在可以看到,整体不仅变得更多,而且与部分的总和也非常不同。
系统科学家穆雷·盖尔曼和斯图尔特·考夫曼通过对复杂系统中自组织行为的研究,进一步发展了“涌现”的概念。他们认为,“涌现”指的是在复杂系统内,简单组件通过相互作用自然产生的某些特性或现象。这意味着,整体所展现的特征或行为不能简单地从其组成部分的性质中推导出来,而是在这些部分的相互作用中自发产生的。涌现现象侧重于解释复杂系统如何在没有外部指令或中央控制的情况下,通过系统内部的简单规则和相互作用,形成新的有序结构和行为。这表明,复杂性可以自然地产生,而不需要外部干预或预先的详细设计。
在这一方面最具代表性的就是生命游戏:
在生命游戏中:
关于文本自回归模型chatgpt参数提升带来的语言理解、推理、编程、创意生成等新能力的涌现我这里就不过多赘述了,我主要侧重分享一下在自监督视觉领域的涌现现象。
DINO(Self-Distillation with No Labels)是一种自监督学习方法,用于无标签学习视觉特征。它基于知识蒸馏(Distillation)和对比学习的思想,使用两组权重共享的网络(教师网络和学生网络)进行训练。
这个模型的思想是使用学生模型来预测教师模型生成的label,而教师模型的权重则使用学生模型的权重更新。其中学生们模型输入的图像是原始照片中的局部小区域的裁剪,而教师模型的输入是更大更全局的裁剪。 这种自监督的方式将数据集从原先有标注的数据集的百万规模扩展到了无标注网络图片的数亿规模。 在经过训练之后,这个模型能够实现那些起初并没有详细地针对性设计的功能 - 可以在没有做任何微调或者添加映射层的基础上在nearest neighbors classifier (k-NN)达到top-1准确率。 - 其次,在模型的最后一层self-attention layer上可以观察到显著的语义分割信息 ## 体现的自然辩证法规律“量变产生质变” 在 DINO 这一自监督学习方法中,**“量变产生质变”**的自然辩证法规律得到了显著体现。该原理指出,**事物的质变并非突发的,而是由量变的积累达到临界点后发生的飞跃**。在 DINO 中,这一过程主要体现在以下几个方面: - **训练数据规模的扩展促成能力涌现** - 传统的有监督学习依赖人工标注的数据集,规模通常在百万级别,而 DINO 通过自监督学习,使训练数据扩展到了无标注的海量网络图片,规模达到数亿。 - 这一量的积累,使模型在没有人工监督的情况下,也能自发学会区分物体类别,最终形成具有良好泛化能力的特征表示。 - 特征学习的逐步优化推动了语义信息涌现 - 训练初期,DINO 学到的特征较为混乱,仅能捕捉低级视觉模式,如边缘和颜色分布。 - 随着训练的持续,网络的特征表达能力逐步提升,最终在 self-attention 层中涌现出**显式的语义分割能力**,尽管分割能力并非最初的训练目标。 - 教师-学生架构中不断积累的信息对齐,并通过自蒸馏的方式不断优化自身,局部的优化(量变)最终促成了全局的能力提升(质变)。Repository:
official:
1 | conda env create -f conda.yaml |
不建议使用official的conda.yaml
, 使用更改后的conda_cyl.yaml
。
1 | pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1 |
官方提供了 depth estimation 和 segmentation 的 notebook,可以找时间理解一下
使用的数据集为Imagenet-mini
1 | imagenet-mini |
Note: 需要额外添加一个label.txt
使用脚本生产数据集的meta data:
1 |