How to learn to learn?

Idea

가장 기본적인 플랜을 짜는 방법

목적을 알고 학습하면 빠르다. 우리는 초기값을 알고 학습한다. 인간은 초기값을 책으로 전달해 준다. 뇌는 근육이다. 뇌는 세포로 이루어져 있다. 뉴론의 특징 뇌의 생김새 심볼화 단기 저장 장소 예제 프로그래밍

이야기 할 것들

  • 학습이란?
    • 효율적인 학습이란?
    • 효과적인 학습이란?
  • 학습 모델과 예제
  • 학습하는 방법
  • 남은것.

Goal

  • 단위 시간안에 효과적인 학습을 하고 싶다.

학습이란.

  • 경험 또는 훈련을 통해 특정 분야에서 특정 상황이 주어 졌을때 목적 달성을 위한 최적의 방안을 선택하는것 이라고 정의한다. 이해를 위해 예를 들어보자. 영어를 학습한다고 하자. 이때의 달성 목적은 영어권 사람들과 유사하게 의사표현을 목적으로 잡을 수 있다.

다음에 알맞은 동사를 고르시오.

I __ a boy. 0. am 0. are

위의 문제를 학습이란 정의에 대입해보자. - 특정상황 = 문제 풀이 - 목적 달성 = 영어권 사람들과 유사하게 의사 표현 - 선택지 = 1. am, 2. are - 최적 방안 = 1.

최적 방안이 1인 이유는 목적을 달성하기 때문이다.

위 와 같은 문제가 100 개 있는 영어 시험지를 가정해보자 (문제 1개당 1점)

효율적인 학습이란?

만약 우리의 목적인 유사한 의사표현 == 높은 점수라고 정의하자. 그렇다면 적은 시간안에 높은 점수를 받는게 효율 적인 학습이라고 할 수 있다. (이게 사교육의 폐혜를 불러왔다...)

효과적인 학습이란.

만약 우리의 목적인 유사한 의사표현 == 높은 점수라고 정의하자. 그렇다면 문제가 변하지 않는다고 가정하면 시험지 정답 번호를 왜우는개 효과적이다. 하지만 문제가 변한다면 문법을 배우는게 더 빠르다. 즉 목적에 따라 학습 방법이 변하게 된다.

학습이란?

조금 더 위의 예제를 정확하고 general 하게 정의해 보자. 아래의 정의는 생물학에서의 인간의 정의 이며 본인과는 절대적으로 무관하다.

인간은 특정 목적을 달성하기 위한 알고리즘들의 집합이다.

위의 가정 대로라면 우리는 인간의 학습 모델을 알고리즘에 유비해서 표현 할 수 있다. (물론 모든 유비는 틀린다.)

학습의 정의

학습을 통해 특정 업무의 최적 점수를 달성하는 알고리즘을 우리는 아래와 같이 정의한다.

A computer program is said 
to learn from experience E 
with respect to some class of tasks T 
and performance measure P 
if its performance at tasks in T, as measured by P, improves with experience E.
  • E 는 영어 시험 공부 라고 하자.
  • T 는 영어 시험 문제를 푸는것 이라고 하자.
  • P 는 점수라고 하자.

인간이 영어 시험 족보를 풀어서 시험에서 좋은 점수를 받는 다고 한다면 위의 정의와 일치한다.

학습 모델

다시 문제로 돌아가 보자.

I __ a boy.
1. am
2. are

이 예제에서 우리는 무엇으로 답을 내리는 걸까? 주어의 인칭에 따라서 동사가 변화한다 라는 룰로 결정된다. 이룰은 어떻게 나올까? I 가 나온 후 am 이 자주 사용되는가 are 가 자주 사용되는가 라는 문제가 된다.

영어 문장에서 빈도수를 조사했더니 I 가 사용 되면 am 이 99번 are 가 1번 나온다고 하자. 우리가 위의 사실을 알고 있다면 문제는 아래와 같이 변경 할 수 있다. $P(am | I) = 0.99$ $P(are | I) = 0.01$ 즉 우리가 학습이라고 말하는 것은 특정 조건이 주어졌을때 가장 가능성이 높은 것을 선택한다 라고 할 수 있다.

그러면 어떻게 하면 저런걸 하는 모델을 만들 수 있을까? 여러 방법이 있겠지만 최초에 균일하게 확률을 배치한다. $P(am | I) = 0.50$ $P(are | I) = 0.50$ 새로운 문장을 읽을때마다 해당 확률을 $+-1$ 씩 변동 시킨다. 예를 들어 I am a girl 을 봤다면 확률을 변동 시킨다. $P(am | I) = 0.51$ $P(are | I) = 0.49$

그러면 우리는 언젠가 아래의 값을 같게 되고 해당 학습이 완료된 상태라고 할 수 있다. $P(am | I) = 0.99$ $P(are | I) = 0.01$

위의 모델을 가지고 이제 우리는 가설들을 해당 모델에 비추어 볼것이다.

예제

피드백

위의 모델을 문제의 정답을 가지고 모델의 값을 수정한다. 즉 조건에 대한 정답을 아는것이 중요하다.

잘못된 피드백

만약 우리가 I are 를 더 많이 보게 되면 어떻게 될까? 즉 잘못된 답이 된다. 즉 정확한 피드백은 중요하다.

만약 피드백이 늦으면 오면 어떻게 될까?

모델의 최적 값은 전혀 변경되지 않는다. 즉 시간 낭비다.

만약 초기값이 없으면 어떻게 될까?

우리는 모델의 숫자를 가감 시킨다. 만약 모델 자체가 없다면 $\infty$ 에 어떻값을 더해도 잘 변하지 않는다.

유닛 시간안에 많은 지식을 습득하고 싶다.