jth23
160
2019-03-29 21:55:48
7
980

딥러닝을 파이썬으로 구현하는 이유??


파이썬에 강력한 라이브러리가 있어서 사용한다는 말은 들었습니다.

하지만 그 라이브러리를 C/C++ 에 맞게 이식하고 구현하면 어땟을까요?

C/C++, 어셈블리어와 비교헀을때 인터프리터 언어인 파이썬과 성능갭은 꽤 있지 않을까요?


PS) 파이썬까 아닙니다... C/C++빠 아닙니다... 정말 몰라서 그렇습니다 ㅠ

0
0
  • 답변 7

  • 머신러닝
    848
    2019-03-29 22:20:15

    핵심 계산 코드는 다 C/C++, cuda로 구현돼 있는 것으로 알고 있습니다.

    python 자체는 느린데 python이 사용하는 라이브러리는 C/C++로 빌드 및 최적화 돼 있어서 C/C++보다 느리지 않습니다.

    python으 느리다고 느끼시는 분들은 python을 C/C++처럼 사용해서 그럴 것 같습니다.

    1
  • defult
    2k
    2019-03-29 22:28:11 작성 2019-03-29 22:32:45 수정됨

    현재의 인공지능이 일반적인인 언어를 사용한 프로그램과는 달리 라이브러리등을 이용하여 각종 개발자가 직접 처리내용을 조합해나가면서 소스코드를짜서 기계가 판단하도록 하는게 아니고

    방대한 데이터를 기반으로 여러 수학적 계산을 통해서 자체적으로 얻어낸 인식 기준을 이용하는 방식이라서 단순히 컴파일쪽에서 개발자가 최대한 최적를 해서 얻을수있는 시간단축  수준은 이득이 크지 않아서 그렇습니다.

    그렇게 해서 얻어낸다고해도 인공지능에게 판단을 맡길때와 판단결과를 받은 이후 처리정도에서나 단축이라고 할만한 결과를 얻지 정작 중요한 인공지능처리자체는 크게 영향을 보기 힘들죠

    그렇다보니 데이터분야 연구자들이 주로 사용하는 파이썬이 많이 보일수밖에 없는거고요

    1
  • jth23
    160
    2019-03-29 22:37:09 작성 2019-03-29 22:38:51 수정됨

    머신러닝 // '라이브러리' 는 최적화가 잘 되어있나보군요!! 감사합니다

    defult // 컴퓨터에게 계산을 맡기는게아니라 계산된 데이터로 처리를 한다는 말씀이죠? 딥러닝은 컴퓨터가 계산해야되는 부분이 생각보다 없는건가요?

    0
  • defult
    2k
    2019-03-29 22:48:43 작성 2019-03-30 09:38:10 수정됨

    컴퓨터가 계산하기 위한것을 컴퓨터가 대량으로 투입된 데이터를 가지고 정해진 라이브러리를 토대로 직접 만듭니다.

    다만 이미 만들어진 인공지능 계산 처리내용을  개발자가 뜯어보고 이렇다 저렇다 섬세하게 조정하면서 계산로직 최적화는 불가능하다고보면됩니다.


    그러니 아무리 개발자가 언어를 가지고 컴파일러 최적화를 한다해도 맡길때와 판단결과를 받은 이후 처리정도뿐이죠.


    중요한 인공지능 처리를 빠르게 하고싶으면 결국 언어적인게 아니고 학습시킬 데이터 선별을 최적화 하든지

    인공지능 라이브러리 자체를 뜯어고치든지 새로운 연구를 통해서 자기들에게 맞춰야하죠.


    1
  • fender
    14k
    2019-03-30 08:49:20

    대체적으로 수학이나 데이터 처리가 많이 개입되는 분야일수록 함수형 접근이 용이한 언어가 편리한 면이 있습니다. 파이선이 완전한 함수형 언어는 아니고 그 것만이 파이선을 해당 분야에서 많이 쓰는 이유의 전부는 아니겠습니다만, 적어도 C나 C++에 비해서는 그런 면에서 유리한 것은 사실일 것 같습니다.

    1
  • jth23
    160
    2019-03-30 12:25:51
    defult, fender // 좋은답변 감사합니다. 좋은 라이브러리의 유무가 언어를 선택하는 기준이 되기도 하겠군요
    0
  • 더미
    14k
    2019-03-30 16:18:35

    현재는 라이브러리로 언어선택하는 경우가 많습니다.

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.