SW/인공지능

인공지능 : 응용과 이슈 (6) : AI 셀프 코딩 사례

얇은생각 2019. 4. 30. 12:30
반응형

인공지능 : 응용과 이슈 (6) : AI 셀프 코딩 사례



컴퓨터 과학자들은 인간 프로그래머들이 점점 더 많은 문서화되지 않은 API를 탐색하는 데 도움을 줄 수 있는 깊이 있는 소프트웨어 코딩 애플리케이션을 만들었습니다.

 

컴퓨터를 프로그래밍할 수 있는 응용프로그램을 설계하는 것은 인공지능(AI)이라고 불리는 컴퓨터과학 분야의 오랜 숙고입니다. Bayou라고 불리는 새로운 애플리케이션은 GitHub와 같은 온라인 소스 코드 저장소에서 지식을 추출하기 위한 모티브에서 나왔습니다.

 

사람들은 코드를 쓸 수 있는 시스템을 만들기 위해 60년 동안 노력해 왔지만, 문제는 이러한 방법들이 애매모호하게 잘 만들어지지 않는다는 것입니다. 대개, 대상 프로그램이 하는 일에 대해 많은 세부사항을 알려줘야 하고, 이런 세부사항을 적어놓는 것은 단순히 코드를 작성하는 것만큼 효과가 있을 수 있습니다.

 

개발자는 Bayou에게 아주 적은 양의 정보(단 몇 가지 키워드 또는 프롬프트)를 제공할 수 있습니다. Bayou는 프로그래머의 마음을 읽고 그들이 원하는 프로그램을 예측하려고 노력합니다.

 

차우두리는 바우가 인간이 작성한 수백만 줄의 자바 코드를 연구해 스스로 훈련했다고 말합니다. 기본적으로 GitHub에 관한 모든 것을 연구하고, 자신만의 코드를 쓰기 위해 활용합니다. Bayou는 특정 소프트웨어 API에 대한 코드의 예를 합성하는 데 특히 유용하다고 말합니다.

 

오늘날의 프로그래밍은 30~40년 전과 매우 다릅니다. 오늘날 컴퓨터들은 주머니, 손목, 수십억 개의 가전 제품, 차량 및 기타 장치에 있습니다. 프로그래머가 처음부터 코드를 쓸 수 있었던 시대는 이미 지나가게 된 것입니다.

 

현대 소프트웨어 개발은 모두 APl에 관한 것입니다. 이러한 규칙은 코드 조각이 특정 운영 체제, 데이터베이스, 하드웨어 플랫폼 또는 다른 소프트웨어 시스템과 상호 작용할 수 있도록 하는 시스템별 규칙, 도구, 정의 및 프로토콜을 의미합니다. 수백 개의 API가 있으며 이를 탐색하는 것은 개발자들에게 매우 어렵습니다. 이들은 스택 오버플로 같은 질문 답변 사이트에서 다른 개발자에게 도움을 요청하면서 많은 시간을 보내게 됩니다.

 

개발자들이 이제 Bayou에서 이러한 질문들 중 일부를 시작할 수 있다고 말하는데, 이 질문들은 즉각적인 답변을 줍니다. 즉각적인 피드백은 문제를 즉시 해결할 수 있으며, 그렇지 않다면 바우 예시 코드는 동료들에게 더 많은 정보를 제공하는 질문으로 이어질 것입니다.

 

저메인은 팀의 주요 목표는 개발자들이 허용 가능한 오픈 소스 라이센스로 출시한 바우(Bayou)를 확장하도록 하는 것이라고 말합니다. 바우 같은 시스템에서 사람들이 원하는 것에 대한 정보를 더 많이 가질수록, 그것을 더 잘 만들 수 있습니다. 얻을 수 있는 한 많은 사람들이 그것을 사용하기를 원합니다.

 

연구원들은 바우에게 신경 스케치 학습이라고 불리는 방법을 기반으로 구현했는데, 이 방법은 수십만 개의 자바 프로그램에서 높은 수준의 패턴을 인식할 수 있는 인공 신경 네트워크를 훈련시킵니다. 이 작업은 읽어 들인 각 프로그램에 대해 "스케치"를 만든 다음 이 스케치를 프로그램 뒤에 있는 "내부"와 연결하여 수행합니다.

 

사용자가 Bayou에게 질문을 하면 시스템이 어떤 프로그램을 작성하도록 요청받는지 판단합니다. 그런 다음 사용자가 원할 수 있는 가장 가능성이 높은 몇 가지 후보 프로그램에 대한 스케치를 만듭니다. 이 추측에 근거해 자바의 낮은 수준의 세부사항을 이해하고 자동 논리 추론을 할 수 있는 모듈인 바우(Bayou)의 다른 부분은 4, 5개의 다른 코드 덩어리를 만들어 냅니다.

 

연구원들은 브리티시 콜롬비아 밴쿠버에서 열리는 제6차 학습 표현 국제 회의에서 바유에 관한 논문을 발표하였습니다.

반응형