인공 지능에 대해 다른 프로그래밍 언어를 시도한 적이 있습니까
당신은 인공 지능 애호가입니까?
네?
그런 다음이 질문에 대답하십시오:인공 지능을위한 물건을 개발하기 위해 어떤 프로그래밍 언어를 사용합니까?
당신의 대답은 파이썬입니다. 참조! 우리는 그것을 알고 있었다.
좋아,우리는 마술사가 아니지만 잘 알려진 사실이다. 파이썬은 기계 학습뿐만 아니라 정상적인 개발 목적으로도 현재 가장 인기있는 언어 중 하나입니다. 2019 년 10 월 현재 820 만 명이 넘는 개발자가 파이썬을 사용합니다. 이는 자바보다 100 만 명 이상,스위프트보다 600 만 명 이상입니다.
파이썬은 인공지능 분야에서의 개발에 있어서 가장 먼저 순위를 매긴다.
간단히 증명하기 위해,대부분의 애호가들은 기계 학습에 사용될 수있는 파이썬(및 대부분)이외의 언어조차 알지 못할 것입니다. 그리고 그것은 단지 씨 또는 자바에서 프로그래밍 알고리즘을 코딩하는 것이 어려워 보이기 때문입니다.
파이썬은 단순성과 커뮤니티로 인해 널리 사용됩니다. 그러나 우리 모두는 파이썬의 한 가지 큰 단점을 알고 있습니다.
네. 실행 속도.파이썬은 400 배 더 느립니다. 하지만 우리는 기계 학습에서 이 모든 것을 해결할 수 있습니다.
하지만 여전히 계산 부하가 더 무겁습니다. 또한 파이썬은 메모리 돼지입니다.4183>
그래서 우리는 무엇을 할 수 있습니까? 우리는 두 세계의 최고를 얻을 수 없습니다!
음,결론을 내리기 전에,미트 미트 사람들이 제공해야하는 것을 보여 드리겠습니다.
줄리아 소개.
아니,다른 인간형이나 챗봇이 아닙니다. 그것은 프로그래밍 언어입니다.
파이썬과 마찬가지로 줄리아는 일반적인 프로그래밍에 사용될 수 있지만 많은 기능은 과학적 계산과 수치 해석에 적합합니다. 그것은 2012 년에 처음 나타났습니다. 2020 년에 그것의 안정되어 있는 방출으로.
하지만 줄리아는 무엇을 제공해야합니까? 음,우선,줄리아는 빠릅니다. 그냥 자바처럼,줄리아는 적시 컴파일러를 사용합니다. 둘째,줄리아는 다른 계산 효율적인 언어보다 쉽게 배울 수 있습니다. 그리고 당신이 묻기 전에,예,줄리아는 파이썬만큼 구문 측면에서 간단합니다.
하지만 파이썬보다 낫지? 그렇다면,다음 어떤 측면에서?
실험을 해보자.
우리는 줄리아뿐만 아니라 파이썬에 대한 간단한 현지 교육을 할 것입니다. 우리는 동일한 아키텍처로 두 언어 모두에서 가장 안정적이고 효율적인 현지 구현을 사용할 것입니다.파이썬의 경우 텐서 플로우를 사용하고 있습니다. 그리고 줄리아를 위해,우리는 플럭스를 사용하고 있습니다.순수한 줄리아 스택입니다. 여기 실험을 너자신 지휘하는 너를 위해 몇몇 참고는,있는다.
각 시대의 시간과 전처리 작업의 구현 시간을 확인할 것입니다.
당신은 다른 데이터 세트를 사용하여 시도하고 우리의 결과가 그들과 관련이 있는지 볼 수 있습니다.
우리가 파이썬에서 시간 모듈을 사용하는 실행 시간을 계산하기 위해,그러나,그것은 단지 모델의 출력에서 모델 훈련 시간을 쉽게 볼 수 있기 때문에,전처리 시간 계산이 필요합니다.적합()기능 자체.
import time
start_time = time.time()#Code
print("The time elapsed: ",time.time()-start_time)
줄리아,우리는 매우 유용한 매크로를 사용하는 것입니다:@시간. 우리는 전체 전처리 코드뿐만 아니라 우리가 각 시대마다 사용하는 기차 기능에 사용합니다.
다음과 같은 것:
@time begin#Preprocessing codeend
단 단계서 사는동 리는 같,로 미를 사 수 습니다:
@time Flux.train!(loss, params(model), train_set, opt)
아직 줄리아 구문을 이해할 수 없다면 걱정하지 마십시오. 그냥 우리가 실행 시간을 측정하기 위해 노력하고 있음을 이해합니다.
일부 결과
실험에 사용 된 시스템의 사양:
이제 당신은 생각할 수 있습니다,그것은 효율성면에서 그다지 다르지 않고 더 낫지 않습니다.
음,실행 기준 사이에 하나의 중요한 차이가있다. 파이썬 코드를 실행하는 동안 전체 프로세서 소비량은 87%였습니다. 그러나 줄리아를 실행하는 동안 전체 프로세서 소비는 18%였습니다.
따라서 줄리아에서 병렬 계산을 사용하고 중앙 처리 장치를 최대한 활용하면 반복 당 시간을 3.6 초로 줄일 수 있습니다.
예,줄리아가 파이썬에 비해 꽤 빠르다는 것을 알 수 있습니다. 그러나 그것이 반드시 파이썬을 곧 인수 할 것이라는 것을 의미하지는 않습니다.
파이썬이 쉽게 적응할 수 있는 이유는 거대한 공동체 때문이다. 줄리아는 파이썬만큼 큰 커뮤니티를 가지고 있지 않습니다. 한 가지 더 줄리아는 기본적으로 실행 중인 컴퓨터의 전체 계산 능력을 사용 하지 않습니다. 당신은 그것을 할 수 있도록 특정 명령 및 실행의 특정 방법을 사용해야합니다.
파이썬은 단순성과 그것이 작동하는 라이브러리와 모듈 때문에이 위치에 있습니다. 그리고 파이썬은 오랫동안 우리와 함께했습니다. 줄리아가 방금 왔다. 우리는 아직 그 잠재력을 보지 못할 수도 있습니다. 그러나 그것은 데이터 계산에서 가장 많이 사용되는 언어 중 하나가된다는 약속을 보여줍니다.
줄리아가 더 빠릅니다. 줄리아는 파이썬처럼 단순하다. 그러나 유일한 문제는 개발자 커뮤니티가 이것을 얼마나 빨리 채택하고 더 좋게 만드는가하는 것입니다. 그 변화를 만드는 것이 정말로 가치가 있습니까? 나는 우리가 그 대답을 더 많은 데이터 및 사례 연구가 필요합니다 같아요.
우리는이 문서가 인공 지능에서 파이썬을 넘어 다른 언어를 보는 호기심을 심어 바랍니다.
참고 문헌 및 추가 읽기:
- 2010 년 11 월 15 일. https://benlauwens.github.io/ThinkJulia.jl/latest/book.html
- 플럭스:줄리아 기계 학습 라이브러리에서 검색. (엔.디.). 이 경우 신경망은 신경망에 영향을 미치므로 신경망은 신경망에 영향을 미치므로 신경망은 신경망에 영향을 미치므로 신경망은 신경망에 영향을 미치므로 신경망은 신경망에 영향을 미치므로 신경망은 신경망에 영향을 미치므로 신경망은 신경망에 영향을 미치므로 신경망에 영향을 미칩니다. (엔.디.). https://www.tensorflow.org/tutorials/images/cnn
- 병렬 컴퓨팅에서 검색. (엔.디.). https://docs.julialang.org/en/v1/manual/parallel-computing/
에서 검색