Hiun Kim (김희언) daily 📝

daily writings (일상 기록)

연구방법에 대해 (3). 머신러닝에 대한 생각.

May 31, 2025

머신러닝에 대해.
머신러닝에 대해 한번즈음 생각해볼 필요가 있을것 같다.

머신은 기계이고, 이 맥락에서는 컴퓨터를 의미하겠다.
러닝이라는것은 컴퓨터가 배운다는 것이다 무언가를.

컴퓨터가 무언가를 배운다는것,
배우는 과정에 대한 논의일 것이다,
런드가 아니라 러닝이니.

과정이라는것은 어떻게 배우는가?
에 대한 것일 것이다.

즉 머신러닝은 컴퓨터가 배우는 과정,
즉 컴퓨터가 어떻게 배우는가에 대한 논의일 수 있다.

그런데 컴퓨터가 왜 배워야 하는가? 에 대해서 고민해볼 수 있다.
컴퓨터가 배우는것이 인류의 복리에 어떠한 도움이 되는가?
컴퓨터 과학이라는 분야는 애초에 자동화를 위한 분야이다.
컴퓨터가 어떤걸 배움으로써 이 자동화를 더 잘 할 수 있겠다는 것과 이어질 것이다.

배운다는것은 무엇인가?
배우는 사람의 자유도에 따라 다양한 단어를 사용할 수 있을것 같다,
훈련은 자유도가 낮은 어떠한 일에 대해서 익숙해지는것이고,
배우는건 그보다 자유도가 높은 느낌이다,
경험하는것, 지휘하는것, 이런건 더욱 자유도가 높은 느낌이다,

경영자로써 경험을 쌓았다라고 하지 배웠다 라고 말하기는 어렵다,
배우는것은 완전히 시키는데로만 하는건 아니고,
그렇다고 새로운 창조를 하는것도 아닌,
적정한 유도리 있는 대처 및 행위 정도의 뉘앙스가 아닐까 싶다.

이 유도리를 잘 하는것이, 또는 어떠한 요소가 이 유도리에 기여하는지에 대해 이해하는것이,
머신러닝의 주요한 목적중 일부 일 수 있다,

지금 내가 쓴 표현을 보면, 머신러닝이 다소의 블랙박스로 작동하는것을 가정한 표현이 보여진다,
즉 우리가 명시적인 제어를 하지 못하기에, 우리는 유도리라는 속성을 머신러닝 모델으로 부터 기대할수 밖에 없는것이다.
그 이유는 우리가 기계에게 직접적으로 가르칠수 있는 정보는 이산적인 정보 뿐이기 때문이다.
보통은 코드로 나타낸 규칙, 절차 등이 해당 된다.

근데 이 이산적인 정보는 학습될것이 없다, 그 자체가 지혜인것이다.
이 이산적인 정보의 한계는 표현 바틀넥에 있다.
우리는 우리 머릿속의 방대하고 잠재적인 지식을 코드라는 매우 압축된 지식으로 뽑아낸것이다,
일종의 손실 압축이다.
그 손실 압축 결과는 그 나름의 한계가 있다.
손실이 되었기 때문에 세상의 매우 작은 영역만 대응할 수 있다는 부분이다.

우리 머릿속의 방대하고 잠재적인 지식을 덜 손실 압축 하려면,
있는 그대로 보여주어야 할 수 있다.
그리고 머신이 그것에서 손실 압축을 시키는것편이 나을수도 있을 것이다.
물론 해당 과업이 충분히 복잡한 경우에 말이다.

상기의 전제 조건은, 우리가 더 많은 데이터를 얻을 수 있게 될때에,
머신이 더 많은 데이터를 처리할 수 있게 될때에,
그것을 처리할 수 있는 학습 방식 등이 개발 되었을때에 해당 될 수 있을 것이다.

이러한 관점에서 더 좋은 데이터와,
더 좋은 학습 방식은 무엇일까?
(머신의 처리량은 증가한다고 가정하면 말이다)

우선 자동화 하려는 task 에 대해서,
양적으로든 질적으로든 많이 더듬을 수 있는 데이터가 더 나은 데이터로 생각한다.
해당 task 라는 작은 세계를 최대한 균형잡히게, 또한 정밀하게 이해할 수 있는 것이 더 좋은 데이터일 수 있다.

좋은 학습 방식 (학습 알고리즘 및 모델) 은 무엇인가?
그 기준은 task 에 따라서 다를 수 밖에 없는데,
학습을 x->y mapping 으로 생각해 본다면,
좋은 알고리즘 및 모델은 이 매핑을 정확히 하는것일 것이다.
이걸 정확히 한다는것은 어떤걸 뜻하는가? 어때야 함을 뜻하는가?

이 매핑이 어려운 경우에 대해 생각해보자,
x 에서 멀리 떨어진 y 로 매핑해야할 수 있을 것이다.
chatgpt 에게 한 어려운 장문의 질문이 x 라면, 그것의 답변이 y 가 될 수 있을 것이다.
사과가 x 고, 유의어인 아오리가 y 라면, 이러한 유의어를 매핑하는 시스템보다, 전자의 시스템이 매핑 난이도가 더 어려울 것이다.

어려운 매핑은 많은 시간과 공간 복잡도를 소요한다, chatgpt 는 큰 모델을 쓰고, 그 큰 모델을 여러번 호출 하여 답변을 교정 한다,
이러한 관점에서 매핑을 정확히 한다는 관점에서는, 양질의 데이터가 있다는 가정 하에서는, 해당 데이터를 어느정도 녹일 수 있는, 어느정도 규모의 모델 크기가 중요할 수 있다.
또한 하나의 모델을 다른 옵션으로 호출 하거나, 여러 모델을 쓰거나하는 방식으로 일종의 앙상블 기술이 필요할 수도 있다.
이들은 모두 모델 과정의, 분산을 높이는 역할을 한다.
즉 모델의 자유도가 높아지는 것이다.

자유도가 높아지는것은 모델이 더 파워풀 해지는 장점도 있는 반면, 예측가능성이 떨어지는 단점도 생길 수 있다,
즉 좋은 모델과 좋은 학습 알고리즘, 그리고 좋은 데이터를 관통하는 기준은, task 를 더 잘 표현하는 양적으로 질적으로 좋은 데이터를 구성하고,
해당 데이터로 부터 최대로 일반화 가능한 성능이 나오도록, 높아진 모델의 분산을 잘 활용하는것으로도 볼 수 있다.
그렇게 함으로써 유도리라는것이 만들어 질 수 있지 않을까 생각해볼수 있다.

많은 머신러닝 주제들에 대해 이 관점에서 이해를 시도해보면 어떨까 싶다,

각 주제가 상대의 주제에 대한 가정이 있어야만, 워킹할수 있다.
한번 고민을 해보자, 많은 모델, regularization methods, 학습 방법 등등에 대해,
이러한 렌즈로 고민을 해보면 재미있지 않을까 싶다.


« 연구에 대해 (1). 잘함의 크기와 방향성에 대해. 연구방법에 대해 (2). 프로그래밍에 대한 생각. »