What is Artificial intelligence?
AI는 우리가 주어진 상황들을 이해하고 거기에 담긴 의미를 파악하고 그런 것들을 일반화할 수 있고 과거의 경험들로부터 배울 수도 있고 등등 생각할 수 있는 기술, 특히 로봇에 AI를 넣을 때는 행동을 어떻게 할 것인지 판단하는 것이 중요한 파트이다.
The ability to reason, discover meaning, generalize, learn from past, make decision to act.
Deep Learning is an Artificial Intelligence Technique.
AI는 그냥 딥러닝이 아닌가? 라는 분위기가 2013년 알파고의 등장 이후로 많이 퍼지고 있다. 하지만 딥러닝 기술은 아직 많이 부족하다. 가까운 핸드폰 음성 서비스와 대화만 해봐도 많이 답답하고 자율주행도 가까워지고 있지만 아직 멀게 느껴지기도 한다. 알파고는 이세돌 9단을 이길 만큼 바둑을 잘 둔다. 하지만 알파고는 본인이 잘하는 것이 바둑이라는 것을 알고 있을까? 그리고 상대가 누구인지 바둑 기사인지 하다못해 사람인지 기계인지 인지하고 있을까? 그냥 단순히 바둑이라는 게임을 승리하는 목적 이외에는 할 수 있는 게 없다. 가지고 있는 능력을 일반화하거나 다른 도메인에 적용하기는 어렵다. 이런 약인공지 능들을 강인공지능으로 발전시키는 게 필요한 상황이다.
기계가 사람처럼 생각하고 학습하려면 필요한 것, 일단 지능은 단순히 패턴에 관한 것이 아니다. 사람이 할 수 있는 큰 능력중에 하나는 세상을 모델링한다는 것이다. 즉 보고 있는 것들에 대해서 설명하고 이해할 수 있다. 그리고 더 나아가 이해하지 못한 것들에 대해 상상할 수 있다. 예를 들어 유니콘을 본 적이 없지만 머리에 뿔이 달렸다 등등 상상할 수 있다. 우리가 배운 것들을 바탕으로 새로운 것들을 모델링할 수도 있다. 이렇게 만들어진 모델들을 서로 공유할 수도 있다.
어린아이의 경우 물컵에 물이 담겨있을 때 이걸 기울이면 물이 쏟아진다는 걸 모른다. 처음에 흔들고 쏟다가 경험이 쌓이면서 물이 쏟아진다는 걸 배운다. 이 후 컵뿐만 아니라 다른 그릇에도 물이 담겨 있어도 기울이면 쏟아진다는 걸 알게 된다. 모델이 학습하는 한 예, 근본적으로 세상이 돌아가는 원리를 학습하는 것이 강 인공지능을 만드는데 중요한 요소일 수 있다.
로봇이 주변 상황을 인식하기 위한 Input으로 이미지, 소리, 촉각이 있다. 이걸 바탕으로 로봇이 이해하려면 Perception Module이 필요하다.
Perception_지각, 인식: 로봇이 인지해서 작업을 수행하기 위해 필요한 것들
- Object detection: 이미지 상에서 특정 클래스에 해당하는 물체를 찾아주는것, 바운딩 박스 형태
- Object recognition: 좀 더 심화된 기술
- Image Segmentation: 이미지가 주어졌을 때 바운딩 박스가 아닌 Object에 테두리로 감싸 표현됨
- 3D reconstruction: Object들을 관찰해서 주어진 일부로 원래의 모형을 3D로 구현한다.
- Image Captioning: 이미지가 주어졌을 때 이미지를 설명하는 문장들이 출력된다.
- Relationships between object: 이미지에 있는 물체들의 관계를 찾는다.
- Speech recognition: 로봇이 액션할 때 사람의 언어를 통해서 작업하도록 연구
- Language grounding: 언어가 주어졌을 때 그 언어가 물리적으로 어떤 의미를 가지고 있는지
Knowledge Base: 상식적인 정보들, 기본 상식
Commonsense Knowledge consists of facts about the everyday world
ㄴ example: An apple is fruit, A fridge is usually in the kitchen
Knowledge Representation ( 로봇을 위한 정보: FOONets )
WordNet
Google's Web Ontology Language
ConceptNet: https://conceptnet.io
ConceptNet
Sources of knowledge Previous versions of ConceptNet were a home-grown crowd-sourced project, where we ran a Web site (Open Mind Common Sense) collecting facts from people who came to the site. The Web of Data is much bigger than that now. Our data comes f
conceptnet.io
Navigation: 로봇이 혼자 돌아다니기 위한 기술
- Mapping - 주변환경에 대한 지도
- Localization - 로봇이 혼자 어디에 위치해 있는지 알아야함
- Path planning - 로봇이 어디로 이동할지 결정하고 계획하는 것
Motion Planning: 로봇 팔이 어떻게 움직일지
Task and motion planning
Grasping: 물체를 어떻게 집을까에 대한 연구
SLAM(Simultaneous localization and mapping)
SLAM이란 동시적 위치추정 및 지도작성이다. 즉 "로봇이 실시간으로 자신의 위치를 추정하고 주변 지도를 작성하는 기술"
- Occupancy grid map: 어떤 환경에서 어디가 장애물이 있고 어디가 장애물이 없는지만을 표현하는 지도
- Topological Map: 전체공간에 중 일부에 대해서 그래프로 표현, 메모리가 효율적이다.
- 3D SLAM: Lidar 데이터 활용으로 지도를 만든다.
- Semantic SLAM: 지도에다가 좀 더 사람이 이해하는거 같은 의미정보들을 넣어준다. 로봇이 물을 떠오려면 지도에서 부엌의 정보를 알고 있어야하는데 이런 정보들을 가지고 있는 것
Motion Planning / Path Planning : 현재위치에서 목표한 지점까지 가기 위한 길을 찾는 정보
- Search based Path Planning: 그래프 상에서 짧은 패스를 찾는 알고리즘을 사용해서 찾는다.
- Sampling based Planning: 좀 더 효율적으로 환경이 주어졌을 때 랜덤하게 노드를 뿌리고 연결하는 그래프를 만들고 경로를 찾는다( PRM, RRT )
Visual Navigation
로봇이 돌아다닐때 라이더 센서 없이 오로지 비주얼 정보, 비전 정보를 통해서만 이동
공장 자동화를 위해 많이 활용되고 있다.
Grasp Detection: 물체를 집는 연구, 로봇이 물체를 집는게 어렵다.
Human-Robot Interaction through Language: 로봇에게 대화를 통해 가르쳐갈수 있는 연구
내용 참고
한양대학교 인공지능융합대학원 로봇인공지능 1주차 강의자료
'AI' 카테고리의 다른 글
[로봇인공지능] 핵심 총정리 (58) | 2022.09.29 |
---|---|
[로봇인공지능]Markov Decision Process (46) | 2022.09.28 |
[로봇인공지능]강화학습 소개 (60) | 2022.09.27 |
기계가 사람처럼 변해가는 과정 쉽게 알아보기(지도학습, 비지도학습, 강화학습) (83) | 2022.09.23 |
머신러닝과 딥러닝 그리고 인공지능 (90) | 2022.09.21 |