
Here's something encrypted, password is required to continue reading.
Read more爱心屋签到: aixinwu.sjtu.edu.cn/products/asw-store
每日二GRISSO💊
Starting from 2/20:
Time | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
---|---|---|---|---|---|---|---|
08:00 | |||||||
09:00 | |||||||
10:00 | Upgrade linux | 计算机视觉DSY115 | |||||
11:00 | |||||||
12:00 | |||||||
13:00 | |||||||
14:00 | 自然辩证法DSY202 | ||||||
15:00 | |||||||
16:00 | |||||||
17:00 | |||||||
18:00 | 数据挖掘CRQ219 | ||||||
19:00 | |||||||
20:00 | |||||||
21:00 | |||||||
22:00 | |||||||
Credits: 3+3+1 |
“涌现”(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,可以找时间理解一下
(Roadmap) Deeper Scene Graph For Robots
Robotic planning and execution in open-world environments is a complex problem due to the vast state spaces and high variability of task embodiment.
例如针对家用场景:
目前粗粒度(object-level)的场景抽象(场景图构建)已经有许多工作了,详见[[Reconstruct-Anything Literature Review]],在这些工作中,重点都在于object detection和 object-level visual relationship detection
需要聚焦的部分是多粒度的场景抽象
需要多粒度的原因:
在更细粒度(part-level)的场景抽象中,重点在于子物体和父物体关系的识别
除此,和object-level scene graph中的object detection相对的,是part-level scene graph的子物体语义的多粒度分割和语义信息提取,可以由现有的Semantic-SAM和类似CLIP或者其他多模态模型的语义特征提取器实现。
What aspects does parent-child relationship include?
kinematic relations,也就是需要把一个物体以一个运动学树的形式构建出来
Semantic-SAM Repository Application
My repository: https://github.com/Chen-Yulin/Semantic-SAM
官方步骤:
1 | pip3 install torch==1.13.1 torchvision==0.14.1 --extra-index-url https://download.pytorch.org/whl/cu113 |
根据[[Cuda+Torch]],需要先安装cudatoolkit
和cuda-toolkit
1 | conda install nvidia/label/cuda-11.7.0::cuda-toolkit -c nvidia/label/cuda-11.7.0 |
然后按照torch官网的安装指令:
1 | conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia |
第二行直接运行可能会报错,提示系统gcc版本过高,安装gcc=11.2.0
1 | conda install -c conda-forge gcc=11.2.0 |
如果编译时出现ld: cannot find -lcudart: No such file or directory collect2: error: ld returned 1 exit status
报错,只是因为没有安装cudatoolkit
^ ^
安装完成后直接import semantic_sam
会报错ModuleNotFoundError: No module named 'MultiScaleDeformableAttention'
^ ^
提示:
1 | Please compile MultiScaleDeformableAttention CUDA op with the following commands: |
需要手动make一下 Mask2Former
:
1 | cd Mask2Former/mask2former/modeling/pixel_decoder/ops/ |
一些版本问题
1 | pip install gradio==3.37.0 |
1 | python demo.py --ckpt ./weights/swinl_only_sam_many2many.pth |
Comment: 效果相较于SAM更多体现了语义的一致性,而不是基于texture进行分割。
1 | python demo_auto_generation.py --ckpt ./weights/swinl_only_sam_many2many.pth |
SayPlan= Grounding Large Language Models using 3D Scene Graphs for Scalable Robot Task Planning
主要的思想都在上面这个伪代码里,通过只展开部分场景图(严格层级结构),来控制输入llm的场景图大小。
A scalable approach to ground LLM-based task planners across environments spanning multiple rooms and floors
Scene Graph 通过networkx (python package)表示
Three key innovations:
Collapsed 3DSG
来在少数根节点上寻找task-relevant子图(后续通过展开子图进行进一步的搜寻),提高了scalability(避免过于复杂的整体场景图超过LLM的token限制)Scene Graph Simulator
作为任务是否可行的验证器。