Search
Duplicate

[CS330] Lecture 1: Introduction & Overview

Topics

1.
Problem definitions
2.
Multi-task learning basics
3.
Meta-learning algorithms
4.
Hierarchical Bayesian models & meta-learning
5.
Multi-task RL, goal-conditioned RL, hierarchical RL
6.
Meta-reinforcement learning
7.
Open problems..

How can we enable agents to learn skills in the real world?

Agent하면 주로 robot을 미하는데, robot이 비록 아직 많이 부족하지만, 역설적이게도 우리가 intelligence에 대한 개념을 배울 수 있도록 해준다.
Agent는 여러 task, object, environment 등에 대해 일반화할 수 있어야하고 무엇인가를 이해하는데에 있어서 common sense도 있어야 한다.
Robot RL, 혹은 여러 RL에 대한 연구들은 대부분 하나의 environment에서 하나의 task를 학습하고, 그것은 대부분 supervision과 guidance를 필요로 한다. RL 뿐만 아니라 machine translation, speech recognition, object detection에서도 이런 연구가 대부분이다.
2000년대의 computer vision은 engineer들의 hand-designed feature에 의존해 이미지에서 해당 feature를 만들고, SVM 등의 classifier를 붙여서 진행되었다. 2010년 대에는 deep learning 기반의 end-to-end training으로 unstructured input(pixel, language, sensor reading...)을 다룰 수 있게 되었다.

Broad generalization

What if you want a more general-purpose AI system?
고정된 task 하나에 대한 framework이 아니라 여러 environment와 task에 대해 일반화 성능을 가진 AI system이 필요하다.
What if you don't have a large dataset?
그 후 계속된 연구들은 크고, 다양한 data를 기반으로 진행되어 일반화 성능을 끌어올렸다. 하지만 큰 dataset을 구할 수 없는 경우에는 딥러닝을 쉽게 적용할 수 없다.
What if your data has a long tail?
또 data의 distribution이 uniform하지 않고 long tail이라면 어떨까? 이런 상황은 supervised learning setting이 학습을 잘 수행하지 못 한다.
What if you need to quickly learn something new?
그리고 만약 빠른 학습이 필요한 경우는 어떨까? 대부분의 기존 딥러닝 모델은 학습에 비교적 오랜 시간, 많은 데이터가 필요하다. 이를 해결하기 위해서는 반드시 prior experience를 leverage 해야한다.

What is a task?

Task는 여러 면에서 정의될 수 있지만, dataset D\mathcal{D}와 object function L\mathcal{L}에 대해 특정 model fθf_\theta를 학습하는 것을 의미한다.

Critical assumption

서로 다른 task는 특정 structure를 공유해야만 multi-task learning을 적용하는 의미가 있다.
Informal problem definitions
강의 중에 formal하게 정의할 것이다.
Multi-task learning problem: 여러 task들들 독립적으로 학습하는 것보다, 한 번에 학습해 더 빠르고 효율적으로 학습하는 것이다.
Meta-learning problem: 이전 task들의 데이터와 경험을 바탕으로 새로운 task에 대해 빠르고 효율적으로 학습하는 것이다.
Multi-task learning == \sumSingle-task learning ?
D=Di\mathcal{D} = \bigcup\mathcal{D}_i, L=Li\mathcal{L} = \sum \mathcal{L}_i ?
특정 경우에는 맞을 수 있다. 여러 task에 대해 dataset을 통합하고 하나의 loss function으로 학습하는 것이 효과가 있을 수 있다.
하지만 각 dataset이 서로 다른 task에 대한 dataset이라는 사실을 이용하면 도움이 되는 경우가 있다.