AI 어떻게 배워야 좋을까요? 🤔
#아이펠 

AI 학교 아이펠 캠퍼스 2024 코어 과정을 소개합니다!

AI 학교 아이펠 코어 과정 2024년도부터 변경된 커리큘럼에 대해서 상세하게 설명드리려 해요! New 코어 과정은 방대한 주제의 오픈소스 프로젝트를 활용하여 Flutter 로 만든 나만의 딥러닝 어플리케이션을 만들어내는 Output image를 목표로 달려갑니다!

2024-04-05 | 나융

들어가며

AI 학교 아이펠 캠퍼스 2024 New 코어 과정을 소개합니다!
안녕하세요 아이펠 퍼실리테이터 나 융 입니다.
2024년도부터 변경된 아이펠 코어 과정 커리큘럼 에 대해서 상세하게 설명드리려 해요!

 

아이펠 코어 과정 은 방대한 주제의 오픈소스 프로젝트를 활용하여 Flutter 로 만든 나만의 딥러닝 어플리케이션을 만들어내는 Output image를 목표로 달려갑니다!
앞선 졸업생들의 정말 다양한 피드백을 받아 더더욱 발전하고 있는 코어 과정은 어떻게 달라졌을까요?

첫 째, 현업에서 가장 중요한 문제정의 능력과 팀 협업을 더욱 함양할 수 있도록 프로젝트 기간이 추가되었습니다.

둘 째, 스토리 방식을 담아 머신러닝과 딥러닝에 대해 한층 더 쉽게 이해할 수 있도록 변경되었습니다.

익숙하지 않은 내용을 접하시는 분들을 위해, 설명이 필요한 단어들 위주로 정리해보았습니다. 상세하게 한 번 살펴볼까요?

 


 

아이펠 코어 과정 – 커리큘럼 설명

코어과정 1주차

1 주차는 특별한 학교 아이펠에 적응하기 위한 준비 기간 입니다.

  • Git(깃) : 깃은 작업 중간중간마다 코드의 변경사항을 버전으로 나누어 관리할 수 있는 소프트웨어입니다. 처음엔 서로 낯을 많이 가릴 수 있지만, 소스코드의 변화를 추적하고 관리하는데 아주 유용한 개발자들의 든든한 친구입니다.
  • GitHub(깃헙 혹은 깃허브) : 깃헙은 개발자들의 작업물이 담긴 깃 프로젝트를 서로 공개해 의견을 주고받고, 자료를 공유할 수 있도록 열려있는 오픈소스 플랫폼입니다. 깃을 기반으로 동작하기때문에, 번거로운 깃 작업을 마우스로 편하게 수행할 수도 있습니다.

 

코어과정 2-3주차!

2-3주차에는 비전공자인 그루들을 위해 파이썬을 마스터하는 시간을 보냅니다.
기초 문법과 유용한 표현, 개념들도 함께 배울 수 있기 때문에, 처음 코딩을 시작하더라도 부담없이 참가할 수 있어요
(그래도 선행학습을 하고 온다면 훨씬 더 편하게 따라올 수 있을 거예요)

  • 파이썬 : 파이썬은 간결하고 읽기 쉬운 문법을 지닌 인터프리터 방식의 객체 지향 프로그래밍 언어입니다. 파이썬을 기반으로 만들어진 다양한 라이브러리와 프레임워크를 통해 데이터 분석, 웹 개발, 자동화, 인공지능 등 광범위한 분야에서 활용되고 있습니다.
    • 인터프리터 : 코드를 한 줄씩 읽어내려가며 실행하고, 결과에 대한 피드백을 바로 받아볼 수 있습니다.
    • 객체지향 프로그래밍 : 비슷한 기능을 복제하고, 서로 독립적으로 실행할 수 있는 객체라는 개념을 중심으로 코드를 구성하는 방식입니다.
    • 함수형 프로그래밍 : 입력에 대해 항상 같은 출력을 내놓는 함수를 활용하여 문제를 푸는 방법으로, 데이터 변경을 피하고 결과를 예측하기 쉽게 만드는 프로그래밍 방식입니다.
  • 조건문
    • if, elif, else 등의 문법에 조건을 입력하여, 조건과 일치하면 참(TRUE) 부분을 실행하고, 조건과 일지하지 않는 거짓(FALSE)일 때는 다른 부분을 실행합니다.
    • 예시
      • if-elif-else 구조를 사용하면 switch문과 비슷한 기능을 구현할 수 있습니다.
      1. if문 : 만약 어떤 조건이 TRUE이면, 해당 조건에 따른 코드 블록을 실행합니다. 예를 들어, “만약 나이가 18세 이상이면, ‘성인입니다’를 출력한다”와 같이 사용할 수 있습니다.
      2. elif문 : if문 다음에 여러 개의 조건을 추가로 검사할 때 사용합니다. 예를 들어, “만약 나이가 18세 이상이면, ‘성인입니다’를 출력하고, 그렇지 않고 나이가 13세 이상이면, ‘청소년입니다’를 출력한다”와 같이 사용할 수 있습니다.
      3. else문 : if문과 elif문의 모든 조건이 FALSE일 때 실행되는 코드 블록을 정의합니다. 예를 들어, “만약 나이가 18세 이상이면, ‘성인입니다’를 출력하고, 그렇지 않고 나이가 13세 이상이면, ‘청소년입니다’를 출력하고, 그 외의 경우에는 ‘어린이입니다’를 출력한다”와 같이 사용할 수 있습니다.
  • 반복문
    • for문 : 지정된 횟수만큼 반복 실행합니다. 주로 리스트, 튜플, 문자열 등의 시퀀스를 순회하거나, 범위(range)를 지정하여 사용합니다. 예를 들어, “리스트의 각 요소를 순서대로 돌아다니면서, 해당 요소를 출력한다”와 같이 사용할 수 있습니다.
    • while문 : 주어진 조건이 참(True)인 동안 코드 블록을 반복 실행합니다. 조건이 거짓(False)이 되면 반복을 종료합니다. 코드를 실행하고 매번 조건을 다시 한번 점검합니다. 예를 들어, “숫자가 0보다 큰 동안, 숫자를 1씩 감소시키면서 출력한다”와 같이 사용할 수 있습니다.

 

코어과정 4-5주차!

본격적으로 머신러닝을 한번 배워볼까요! ‘학습’이라는 과정에 대해 상세하게 배우고, 직접 인공지능 모델도 만들어봅시다.

  • 머신러닝(ML) : 사람이 추론 및 의사결정하는 방법을 모델(머신)에게 학습시켜 문제를 해결하는 방식입니다. 반복적으로 데이터를 입력하면 모델이 일정 범위의 패턴을 형성합니다. 이렇게 추출된 일반화 특징들이 어떤 환경을 대표하게 되면, 그 안에서 모델이 스스로 판단을 내릴 수 있게됩니다.
    • 테이블 형식(예. 엑셀 파일)으로 잘 정제된 정형데이터를 각종 수식 등을 이용해 분류하는 방식이 대표적입니다.
    • 모델 : 기계학습 알고리즘을 이용하여 추출된 특정 패턴, 또는 이 패턴들을 모아둔 집합 개념입니다. 보통 내부 구조를 기준으로 서로 다른 이름을 붙입니다.
  • TensorFlow, Keras : 파이썬을 기반으로 머신러닝의 한 종류인 딥러닝(deep learning) 시스템을 쉽게 만들 수 있게 해주는 프레임워크입니다. 캠퍼스 과정 중에서는 Tensorflow 에 내장되어있는 Keras 를 주로 활용할 예정입니다.
  • 지도학습 알고리즘 : 샘플 별로 각 데이터를 표현하는 특징과, 이에 매칭된 레이블(정답) 두 부분으로 정의합니다. 데이터의 특징만 입력받아 모델이 스스로 예측한 결과값과 데이터의 정답을 서로 비교하여 얼마나 차이가 나는지 측정합니다. 이 차이가 좁아지도록 모델의 내부 상태를 변형하고, 이후 반복적으로 데이터와 예측값을 비교합니다. 결과적으로 모델이 점점 더 정답에 가까운 예측을 수행하도록 학습시키는 과정입니다.

 

코어과정 6주차

머신러닝이 익숙해졌다면, 이번엔 딥러닝으로 다이브 해봐야겠죠! 딥러닝이 공격적으로 활용되는 컴퓨터비전 분야에서 상세하게 어떤 기능들을 어떤 모양으로 구현하는지 알아봅니다.

  • 딥러닝(Deep Learning, DL) : 머신러닝의 일종으로 인공신경망(neural network)을 사용하여, 데이터의 추상적인 표현을 학습하고 분류하는 시스템입니다.
    • 인공신경망: 생물학의 신경망에(특히 두뇌) 영감을 얻은 알고리즘입니다. 생명체의 정보처리과정을 모방하여 만들어졌습니다. 특히 일반적인 수식들의 조합 안에 비선형적인 함수를 추가한 점이 특징입니다.
    • 특징들의 종류와 변형이 다양한 비정형데이터(사진, 그림 등)를 주로 다룹니다.
  • Computer Vision(CV) : 인간의 시각적 인식 능력을 재현하는 연구분야입니다. 시각적 특징들을 서로 구분하여, 외형적인 특징과 의미적인 특징을 잘 형성하는 것이 중요합니다.
  • Convolutional Neural Network(CNN) : 딥러닝에서 이미지, 영상 데이터 등을 처리할 때 주로 활용되는 모델의 종류입니다. Convolution 알고리즘을 기반으로, 계산량을 효율적으로 절약하고 딥러닝 분야에서 다채로운 구조 변형을 이끌어냈습니다. 주로 좁은 범위의 지역적 정보를 기반으로 한 문제 해결 방법에 자주 활용됩니다.

 

 

코어과정 7주차

데이터를 직접 다루고 파헤치면서, 숨겨져있는 보물을 탐험하는 Datathon 기간입니다

  • EDA(Exploratory Data Analysis): 탐색적 데이터 분석
    • 데이터를 다양하게 변형해, 숨어있는 의미를 끌어내어 의사 결정에 반영하는 과정입니다. 알아보기 쉬운 형식으로 데이터를 정리하거나, 복잡한 표현을 독립적이고 단순하게 분리하는 작업이 필요합니다. 이뿐만 아니라 다양한 수식들을 통해 데이터 안에 감춰져있는 패턴을 발굴해내거나, 사람이 인식하기 쉽도록 강조된 그림 자료들을 만드는 시각화 과정까지 포함됩니다. 데이터 분석에서 도출된 인사이트들은 이후 모델 학습 과정에서 어떤 종류의 특성을 고려해야하는지 아주 중요한 정보로 작용합니다.
  • 전처리 : 모델을 학습시키기 이전에 데이터가 모델에 알맞게 들어갈 수 있도록 변형하는 것입니다. 데이터의 모양을 바꾸거나 데이터가 가지고 있는 값들의 간격을 조절하여, 작업자와 인공지능이 더 쉽게 데이터 사이의 관계를 파악할 수 있도록 합니다.

 

 

코어과정 8-10주차 : Flutter 를 맛보는 시간!

초보자라도 손쉽게 나만의 어플리케이션을 제작할 수 있는 플러터를 배워봅시다. 앞으로 배울 AI 프로젝트에 적용해보면 어떨까요?

  • Flutter : 인터넷 브라우저에서 바로 사용할 수 있는 웹앱을 쉽게 만들거나, 각종 모바일 디바이스의 운영체제에 구애받지 않고 어플리케이션을 제작할 수 있는 소프트웨어입니다. 구글에서 만든 Dart 라는 프로그래밍 언어 기반으로 작동합니다.
    • 위젯구조와 레이아웃 : 사람에게 보여지는 인터페이스 화면을 flutter가 구성하는 방법입니다. 먼저 화면 안에 작게 구분된 요소들이 세부 기능을 수행하는 위젯 구조가 있습니다. 버튼, 텍스트, 아이콘 등이 대표적인 위젯 구조입니다. 위젯들은 상위 위젯이 하위 위젯들을 포함하는 계층 구조를 가지기 때문에 작업이 용이합니다. 레이아웃은 전체 화면을 영역으로 구분하여 요소들을 어떻게 배치할 지 결정하는 특수한 위젯 중 하나입니다.
  • FastAPI : 서로 다른 프로그램들이 HTTP 양식의 인터넷 주소를 통해 소통하도록 도와주는 파이썬 기반 소프트웨어입니다. 프로그램 코드들이 사용자와 분리되어 서버에 저장된 채로, 필요한 데이터들만 오갈 수 있어 전송, 보안, 유지관리 측면에서 장점이 있는 Rest API 방식을 채택하고 있습니다.

코어과정 11-12주차

  • NLP(Natural Language Processing) : 사람이 소통하는 방식인 언어 체계를 연구하는 분야입니다. 기계가 토큰 형식의 데이터를 통해, 언어가 갖는 문법과 추상적인 의미들 사이의 연관성을 이해하도록 만드는 분야입니다. 언어에서 중요한 단어의 순서와 서로 중복되는 의미, 문장이 담긴 환경에 대한 맥락적인 부분을 고려하는 모호하고 복합적인 작용을 다룹니다.
  • 생성모델 : 생성 모델은 대량의 데이터를 기반으로 확률적인 특징을 추출합니다. 이를 활용해 학습에 사용되지않았던 각 데이터 사이의 빈 공간에 존재할 만한 중간값을 추정하는데 탁월한 모델입니다.

 

코어과정 13주차

13 주차 이후부터는 본격적인 아이펠톤 프로젝트 진행 기간입니다. 나와 뜻이 맞는 팀원들과 힘을 합쳐 프로젝트를 멋지게 완성해볼까요!?

어떤 프로젝트를 만들어볼지 더욱 궁금하다면? → 유튜브로 보러가기!

아동 문해력 향상을 위한 스마트락 | 아이펠 온라인 5기 아이펠톤

No Description