지식나눔

Deep Learing 관련 수학 코딩 능력치?

안녕하세요?

최근 Al, Deep Learing 관련 온라인 강좌를 듣고 있는데,
수학적인 언급이 상당히 많네요.

잘하기 위해서는 수학 공부를 따로 해야하나요?
아님 익숙해지면 분석 코딩하는데 큰 문제가 없는지...

고수분들의 의견이 궁금합니다.
  • 컴퓨터 코딩
  • 수학
  • Deep learing
지식의 출발은 질문, 모든 지식의 완성은 답변! 
각 분야 한인연구자와 현업 전문가분들의 답변을 기다립니다.
답변 4
  • 답변

    진승교님의 답변

    안녕하세요.
    목적에 따라 다를 것 같습니다.
     
    우선 딥러닝을 개발하는 프레임워크(tensorflow, keras 등)는 수학적인 원리를 알지 못해도 모델링을 쉽게 할 수 있는 방향으로 발전하고 있습니다. 프로그래밍 언어로 빗대어 말씀드리면 예전에는 하드웨어의 구체적인 동작 원리와 메모리관리같은 영역을 정확히 이해해야만 프로그램을 개발할 수 있었지만 점점 개념이 추상화되면서 메모리 관리 같은 영역은 컴퓨터에게 맡기고 개발자는 프로그램의 기능에 집중할 수 있도록 발전한 것과 같습니다. 이처럼 딥러닝도 구체적인 수학적 원리를 이해하지 못하더라도 제품을 생산할 수 있는 방향으로 발전하고 있습니다.

    그렇지만 수학은 필수적이기도 합니다.
    딥러닝 모델은 수 많은 데이터를 입력받아 목적에 따라 학습하는데, 데이터는 벡터공간상에 흩어져있는 수치로 표현할 수 있습니다. 수 많은 데이터는 일련의 분포를 이루고 있고 데이터의 분포를 이해하는 것은 딥러닝 모델이 더 나은 성능을 발휘하도록 기여합니다. 다시한번 프로그래밍 언어로 예를 들자면, 만약에 쉽게 제품을 만드는 것 보다 우주선 개발과 같은 컴퓨팅 성능이 중요한 분야라면 하드웨어를 직접 조작하거나 메모리를 할당하고 해제하는 등 컴퓨터에게 맡길 수 있는 부분을 직접 제어해서 성능을 고도화 할 수 있겠습니다. 최근 딥러닝에서는 모델을 쉽게 개발할 수 있지만 성능을 고도화하기 위해 데이터의 분포를 다루는 통계학이나, 벡터공간을 다루는 선형대수학, 최적화 기법등에 필요한 미적분학이 중요합니다.

    요약하자면, 딥러닝에서 수학은 반드시 필요하지는 않은 방향으로 발전하고 있으나 연구 개발 등 고성능의 모델을 목적으로 하시면 더 중요합니다.

    감사합니다. 
    안녕하세요.
    목적에 따라 다를 것 같습니다.
     
    우선 딥러닝을 개발하는 프레임워크(tensorflow, keras 등)는 수학적인 원리를 알지 못해도 모델링을 쉽게 할 수 있는 방향으로 발전하고 있습니다. 프로그래밍 언어로 빗대어 말씀드리면 예전에는 하드웨어의 구체적인 동작 원리와 메모리관리같은 영역을 정확히 이해해야만 프로그램을 개발할 수 있었지만 점점 개념이 추상화되면서 메모리 관리 같은 영역은 컴퓨터에게 맡기고 개발자는 프로그램의 기능에 집중할 수 있도록 발전한 것과 같습니다. 이처럼 딥러닝도 구체적인 수학적 원리를 이해하지 못하더라도 제품을 생산할 수 있는 방향으로 발전하고 있습니다.

    그렇지만 수학은 필수적이기도 합니다.
    딥러닝 모델은 수 많은 데이터를 입력받아 목적에 따라 학습하는데, 데이터는 벡터공간상에 흩어져있는 수치로 표현할 수 있습니다. 수 많은 데이터는 일련의 분포를 이루고 있고 데이터의 분포를 이해하는 것은 딥러닝 모델이 더 나은 성능을 발휘하도록 기여합니다. 다시한번 프로그래밍 언어로 예를 들자면, 만약에 쉽게 제품을 만드는 것 보다 우주선 개발과 같은 컴퓨팅 성능이 중요한 분야라면 하드웨어를 직접 조작하거나 메모리를 할당하고 해제하는 등 컴퓨터에게 맡길 수 있는 부분을 직접 제어해서 성능을 고도화 할 수 있겠습니다. 최근 딥러닝에서는 모델을 쉽게 개발할 수 있지만 성능을 고도화하기 위해 데이터의 분포를 다루는 통계학이나, 벡터공간을 다루는 선형대수학, 최적화 기법등에 필요한 미적분학이 중요합니다.

    요약하자면, 딥러닝에서 수학은 반드시 필요하지는 않은 방향으로 발전하고 있으나 연구 개발 등 고성능의 모델을 목적으로 하시면 더 중요합니다.

    감사합니다. 
    등록된 댓글이 없습니다.
  • 답변

    안강우님의 답변

    말씀하신 부분은 알고리즘 개발관련인것 같습니다.
    일반적으로 프로그래밍 영역에서 수학적인 마인드가 필요로 한 부분은 고도의 논리적인 사고가 필요한 알고리즘 개발입니다.
    AI분야는 한가지에 치우친 학문이 아닌 여러 분야의 지식이 필요한 부분입니다.
    따라서 반드시 수학전공일 필요는 없습니다.
    다만 기본적인 대수학 정도의 지식은 필수입니다. 
    말씀하신 부분은 알고리즘 개발관련인것 같습니다.
    일반적으로 프로그래밍 영역에서 수학적인 마인드가 필요로 한 부분은 고도의 논리적인 사고가 필요한 알고리즘 개발입니다.
    AI분야는 한가지에 치우친 학문이 아닌 여러 분야의 지식이 필요한 부분입니다.
    따라서 반드시 수학전공일 필요는 없습니다.
    다만 기본적인 대수학 정도의 지식은 필수입니다. 
    등록된 댓글이 없습니다.
  • 답변

    이동진님의 답변

    아래 자료 추천합니다. 
    https://hunkim.github.io/ml/
    아래 자료 추천합니다. 
    https://hunkim.github.io/ml/

    좋은 자료 추천 감사합니다~

  • 답변

    신동협님의 답변

    안녕하세요? 질문자입니다.

    답변 감사합니다.
    혹시 추가적으로 좋은 온라인 강좌나 블로그 등이 있으면 추천 부탁드립니다.
    안녕하세요? 질문자입니다.

    답변 감사합니다.
    혹시 추가적으로 좋은 온라인 강좌나 블로그 등이 있으면 추천 부탁드립니다.
    등록된 댓글이 없습니다.