전공교과목

전필 ※각 과목명을 클릭하시면 세부 내용을 볼 수 있습니다.

기업체 전문가, 해당분야 연구실 교수가 강의하며, 인공지능의 코어 기술과 응용의 최신 연구, 개발 트렌드를 소개한다. 각 분야별로 현재 및 미래의 중요한 인공지능 문제들을 소개하고, 이를 접근하기 위한 가용 학습데이터, 그리고 이를 이용한 최신 인공지능 설계기술 및 응용현황을 소개한다. 구체적으로는, 비전/음성/텍스트의 전통적인 문제, 학습데이터와 솔루션 뿐 아니라 인공지능 기반 시스템의 형평성, 개인데이터 기반 학습결과의 저작권, 공공데이터의 활용 방안 등 인공지능의 응용분야가 넓어지며 만나게 되는 새로운 이슈들에 대한 소개와 토의를 진행한다.

이 과목에서는 Java와 C++ 언어를 이용한 객체지향 프로그래밍을 학습한다. 학생들은 Java와 C++의 기초 및 API에 대하여 배우고, Java와 C++를 이용하여 실제 문제를 제대로 풀 수 있도록 바르게 동작하고 질 좋은 객체지향 소프트웨어를 작성하는 방법에 대하여 배운다.
<프로그래밍방법론>은 컴퓨터 프로그래밍을 위한 기술과 컴퓨터 프로그래밍 언어를 학습하는 과목이다. 수업은 컴퓨터의 기초와 Java 언어를 공부한 학생을 대상으로 하며, Unix의 기초와 사용 방법과 Java AWT/network, C/C++의 주요 사항, 윈도우 프로그램의 기초를 학습한다.
이 과목에서는 컴퓨터에 의한 문제 해결을 위해 필요한 개념이나 대상물의 표현을 위한 자료 구조와 문제해결을 위한 체계적 사고 방법을 학습한다. 배열, 연결 리스트, 큐, 스택, 우선순위 큐 등의 기본적인 자료구조를 배우고, 검색 트리, 해시 테이블, 균형 잡힌 검색 트리 등 자료의 색인을 위한 자료구조와 그들의 효율성을 배운다. 정렬, 그래프 알고리즘 등 문제 해결에 유용한 도구와 생각하는 방법에 관한 내용도 제공한다. 프로그래밍 과제가 부여되며 이를 위한 최소한의 가이드가 제공된다.
프로그램 안에서 데이터를 효율적으로 저장하고 접근하도록 자료구조의 다양한 개념을 소개한다. 특히 같은 목적을 위해 작성된 코드안에서 사용 가능한 여러 가지 자료구조들 중에서 어떤 자료 구조가 어떤 상황에서 더 유리한 지를 이해하고, 주어진 응용에 적합한 자료구조를 선택하고 새로운 자료구조를 디자인 할 수 있는 감각을 기른다. 이를 위해 수학적인 분석과 프로그래밍 실습을 통한 다양한 자료구조의 평가를 수행한다.
다양한 알고리즘 개발 방법과 알고리즘 분석 기법을 배운다. 귀납적, 재귀적 사고방식을 배우고 이를 통해 문제를 접근하고 해결해나가는 방법을 배운다.
여러 가지 문제를 컴퓨터로 해결하기 위한 다양한 방법론이라 할 수 있는 알고리즘을 본 과목에서는 소개한다. 특히 알고리즘 분석 기법을 통해 효율적인 알고리즘을 개발하고 이해할 능력을 키운다. 또한 컴퓨터가 풀 수 있는 쉬운 문제와 어려운 문제를 구별하기 위한 NP-complete 이론을 배우며 어려운 문제를 해결하기 위한 근사 알고리즘을 소개한다.

전선

인공지능 기술의 도입은 다양한 법적 제도적 이슈들을 제기한다. 인공지능 기술의 도입이 가져오는 사회적 경제적 변화는 어떠한 것인지 살펴보고, 그와 함께 고려해야 할 법제도적 이슈들이 어떤 것인지 파악하고 정리해 보는 기회를 갖도록 한다. 인공지능의 작동방식에 대해 재검토하고, 인공지능이 인터넷 플랫폼, 검색, 프로파일링 등 다양한 영역에 미치는 영향을 검토하고, 금융이나 의료 등 개별 산업에는 어떠한 변화를 가져오는지 살펴본다. 그와 함께, 새로이 제기되는 법제도적 이슈들에 대해 검토한다. 법적 책임에 관한 문제를 비롯하여, 공정성이나 차별의 이슈, 데이터 활용과 관련된 프라이버시 이슈 등 관련된 다양한 이슈들에 대해 논의하도록 한다.

학습시스템은 환경과의 상호작용을 통한 경험으로부터 지식을 습득하여 스스로 성능을 향상시키는 시스템이다. 기계학습은 학습시스템의 핵심인 경험으로부터 획득한 데이터로부터 모델을 자동으로 생성하고 이를 기반으로 미래 를 예측하는 계산구조와 알고리즘을 연구하는 컴퓨터공학의 한 분야이다. 기계학습은 인터넷 정보검색, 텍스트마이닝, 컴퓨터비젼, 로보틱스, 게임 뿐만 아니라 생명과학과 비즈니스 데이터마이닝 등에 성공적으로 활용되었다. 최근 들어 모바일폰, 스마트 TV등에서 사용자 모델링과 개인화 추천 서비스에 사용되고 있으며 컴퓨터구조, 컴파일러, 운영체제, 통신망 시스템의 모델링 및 성능 예측 등 컴퓨터공학의 다양한 분야에서 널리 활용되고 있다. 본 교과목은 감독학습, 무감독 학습, 강화학습 등 기계학습의 기본 개념과 원리, 여러가지 학습 방법에 대한 모델 구조와 학습 알고리즘 및 그 수학적인 기반를 제공하는 것을 목적으로 한다. 패턴분류, 확률관계모델링, 순차적 의사결정과정에 대한 구체적인 학습 구조와 알고리즘을 살펴보며 실제 응용문제 해결을 위한 미니 프로젝트를 통하여 그 활용 방법을 습득한다.
본 강좌는 전기정보공학부 및 관련 분야 수강생을 대상으로 하는 학부 교과목으로 인공지능 분야의 핵심이 되는 기계학습의 개념 및 응용을 소개하고, 주요 기계학습 알고리즘 및 모델들에 대해 학습한다. 과제 및 프로젝트를 통해 최신 기계학습 기법의 심층적 이해와 실제 구현 기회를 부여한다. 주요 내용으로는 지도학습, 비지도학습, 선형회귀, Logistic 회귀, Random Forests, 군집 알고리즘, Support Vector Machine, 인공신경망, 은닉 마르코프 모델, 협업 필터링, Graphical 모델, 딥러닝의 기초 등을 포함한다. 선수과목: 데이터구조 혹은 알고리즘, 전기시스템선형대수, 확률변수, 프로그래밍 방법론
컴퓨터비전은 학계와 산업계 모두에서 가장 빠르게 발전하는 인공 지능 분야로, 3차원 세계를 기록한 사진 및 동영상과 같은 시작정보들을 획득, 처리, 분석, 이해하는 데에 그 목적이 있다. 본 과목은 학부 4학년생을 위한 과목으로서 컴퓨터비전과 관련한 기초적인 개념과 방법론 및 그 응용을 배운다. 아울러 프로그래밍으로 구성된 과제들과 학기 프로젝트를 통해 실제 영상을 다루는 경험을 쌓는데 주안점을 둔다. 본 수업에서 다루는 주제들은, 영상 처리 및 분할, 특징점 검출, 광학, 영상 추적, 사진기 모델, 3차원 복원, 인물 및 물체 인식과 검출 등을 포함한다.
본 교과는 인공지능의 중요한 문제중의 하나인 컴퓨터비전의 기초를 소개하는 과목으로서 컴퓨터비전 관련 이론의 이해는 물론 알고리즘의 설계 및 분석을 통하여 다양한 공학적 응용예를 익힌다. 본 교과의 내용으로는 영상형성과정의 광학적 모델링, 영상전처리 및 복원문제로 부터 영상특징추출, 그리고 물체검출 및 인식문제 등의 고차원 문제가 포함될 것이며, 이의 해결을 위한 고전적인 접근 방법 뿐 아니라 최신 연구경향 및 방법론들을 공부한다.
4차 산업혁명의 핵심기술인 인공지능(딥러닝)의 배경지식과 활용방법을 습득하며, Convolutional Neural Networks 와 Recurrent Neural Networks 에 관한 지식과 활용법을 실습한다. 딥러닝 기본개념, Stochastic Gradient Descent, backpropagation 기법, 초기화기법, regularization 기법, 콘볼류션신경망(CNN), CNN 구조, 반복신경망(RNN), RNN의 응용, 강화학습을 다룬다. 이론은 기존 머신러닝과목에서 다루므로, 이론보다는 실용적 적용능력을 배양하기 이해 딥러닝 관련 소프트웨어 교육을 강조하며, Python에 관한 강의와 실습, Python 수학 라이브러리 numpy에 강의도 실시한다. 또한 Advanced deep learning library인 Tensorflow에 대한 강의와 실습도 병행한다.
확률변수 및 확률과정의 기초에서는 불규칙 변수를 포함하는 선형 시스템의 해석에 필요한 기본적인 불규칙 신호의 특성과 랜덤 프로세스의 특성을 배운다. 확률이론에 기초한 랜덤상수를 정의하고, 랜덤상수를 다룰 수 있는 1, 2차 모멘트(moment)에 대하여 배운다. 랜덤 프로세스를 정의하고 흔히 쓰이는 랜덤 프로세스인 Gaussian random Process와 Poisson random process의 특성을 알아본다. 선형 stationary process에 널리 쓰이는 power spectrum에 대하여 배우고 이를 이용한 선형 불규칙 시스템의 해석 방법을 소개한다. 간단한 선형 불규칙 시스템을 예를 들어 확률 변수 및 확률 과정의 기초가 선형 시스템 해석에 어떻게 이용되는지 알아본다.
자연과학뿐만 아니라 현대사회에서 거의 모든 현상을 이해하기 위하여 확률적 방법이 도입되고 있다. 또한 확률 이론은 현대수학의 중요한 분야이며 인공지능, 컴퓨터통신 등 컴퓨터과학에도 응용범위가 매우 크다. 이 과목에서는 먼저 확률의 기본 개념을 이해하고 이를 통하여 자연과학, 공학, 사회과학 등에서 사용되는 확률적 사고 및 접근방법을 공부하며, 아울러 이에 필요한 수학적 기법도 소개한다. 통계학 전공 필수과목인 수리통계를 수강하는데도 큰 도움이 된다.
본 과목에서는 정형 데이터와 비정형 데이터를 효과적으로 관리하고 분석하는 데에 필요한 제반 이론 및 기법을 배운다. 구체적으로, 본 과목의 전반부에서는 데이터베이스 (DB)를 기반으로 한 정보 시스템의 설계 및 구현, 그리고 DB 마이닝과 DB 기반 추천 시스템과 관련된 모형과 기법을 다루고, 후반부에서는 텍스트 데이터를 대상으로 정보 검색, 문서 분류 및 군집화를 위한 주요 이론과 방법론들을 소개한다. 아울러, 본 과목은 소개된 모형 및 기법들을 구현하여 다양한 형태의 데이터에 실적용해보는 프로젝트들을 포함하는 바, 이를 통해 실제 문제에 대한 해결 능력을 기르고, 관련된 기술적 이슈들을 경험해보는 것을 목표로 한다.
경영과학 1은 경영, 정보, 통신 및 공학 등 여러 가지 시스템 상에서 발생하는 문제들에 대한 계량적, 체계적인 사고와 처리능력의 제고를 위해 경영과학 기법을 학습하는 과목이다. 경영과학 1은 선형계획법, 목표계획법, 정수계획법, 비선형계획법, 동적계획법 등에 대해 학습한다.
데이터마이닝의 기본 개념 및 방법들을 다양한 응용사례를 중심으로 배운다. 대용량자료의 분석을 위한 자료의 전처리과정(자료의 범주화, 자료의 선택)등을 배우고 회귀분석을 시작으로 하여 로지스틱회귀, 의사결정나무, 신경망모형, 군집분석, 연관성분석 등에 대한 개요 및 컴퓨터를 이용한 모형구축 방법에 대하여 배운다. 코스 종반에 팀을 구성하여 실제 자료를 분석하여 결과를 발표한다. R, SPSS, SAS 등의 다양한 통계프로그램을 이용한다.
통계학, 인공지능, 컴퓨터공학의 도구를 총체적으로 사용하는 데이터마이닝은 기존의 과학 및 공학 분야 뿐 아니라 생산, 마케팅, 금융 등과 같은 비즈니스 분야에도 활발히 사용되고 있다. 본 강좌에서는 데이터마이닝의 기본적인 문제인 클러스터링, 분류, 연관분석 등과 해당 기법들을 소개한다. 또한, 실제 비즈니스에서 데이터마이닝이 사용되는 배경 및 사례를 공부한다. 생산, 마케팅, 금융 분야의 실제 데이터를 사용하여 마이닝을 수행하는 프로젝트를 함으로써 이들 분야에 있어서의 데이터마이닝의 특성을 이해하고 문제해결능력을 제고하고자 한다.
데이터마이닝은 대용량 데이터에서 유용한 패턴을 찾기 위한 이론과 기법을 의미한다. 데이터마이닝은 웹, 사기 탐지, 추천 시스템, 사이버 보안 등 중요한 응용에 활용되고 있다. 본 과목에서는 데이터마이닝을 위한 중요 알고리즘과 이론을 설명한다. 주요 학습 주제로 mapreduce, 유사 아이템 검색, 빈발 패턴 검색, 링크 분석, 데이터 스트림 마이닝, 클러스터링, 그래프 마이닝 등을 다룬다.
다변량의 평균에 관한 추정과 검정, 주성분 분석, 요인분석, 판별분석, 군집분석 등을 다루며 선수과목으로는 <수리통계1·2>와 <선형대수>가 요구된다.
딥러닝 모델은 추상화 복잡도를 증가하면서 정보를 표현하는 여러 계층으로 이루어진 신경망으로, 최근 영상/음성/자연어 처리 등의 문제에서 다른 기계 방법론들을 크게 상회하는 뛰어난 성능을 보이고 있다. 본 과정에서는 딥러닝의 기반이 되는 기계학습 및 최적화 기법들을 배우고, 기본적인 신경망에 대해서 학습한다. 그리고 영상 처리와 자연어 처리의 핵심 모델인 Convolutional neural networks와 Recurrent neural networks의 훈련법과 추론법들을 익힌다. 또한 비감독 생성 모델인 Autoencoders와 Restrict Boltzman machines에 대해 자세히 살펴 보고 마지막으로 딥러닝 기반 강화 학습에 대해서도 학습하고 실습을 진행한다. 본 과목은 대학원생과 일부 고년차 학부생을 대상으로 한다.
컴퓨터 청각(Machine Listening; Computer Audition) 분야는 컴퓨터 비전(Computer Vision)과 더불어 인공지능에서 가장 활용 분야가 넓은 연구 분야 중 하나이다. 시리 등의 음성인식 알고리즘부터 오디오 핑거프린팅을 이용한 자동 음악검색 등 이미 많은 컴퓨터 청각 관련 서비스들이 우리 생활 깊숙이 침투해 있다. 본 교과목은 강의를 통해 인공청각지능 또는 컴퓨터 청각 시스템을 만들기 위해 사용되고 있는 최첨단 기계학습 알고리즘들의 기본 원리에 대해 알아보고, 랩 세션을 활용하여 이러한 알고리즘들을 실제로 구현해본다. 최종적으로는 기말과제를 통하여 오디오/음악/청각인지 등에 실제로 적용할 수 있는 시스템을 구축하는 것을 목표로 한다.
본 수업은 실제 운용되고 있는 SNS상에서 사용할 수 있는 도구들의 제작과 이를 통해 얻은 자료를 분석하는 기법을 익히는 것을 목표로 한다. SNS의 사용이 크게 증가함에 따라, 사용자들이 방대한 양의 자료를 웹상에서 제작, 공유하고 있다. 이러한 자료를 분석하면 기존의 방법으로는 알기 힘들었던 사용자의 취향이나 성향을 비교적 쉽게 파악할 수 있다는 연구 결과가 나오고 있다. 하지만 자료의 양이 방대할 뿐만아니라 자료의 형태도 다양해 여러가지 제한점이 있는 것도 사실이다. 본 강의는 SNS 상의 자료를 사용하여 어떻게 사용자에게 유용한 정보를 제공할 수 있는 지에 대해서 알아보고자 한다. 학생들은 Python을 이용하여 여러가지 SNS의 자료를 수집하고 분석하는 것을 배울 것이다. 단순한 수집뿐만아니라 수학적인 분석 기법에 대해서도 자세하게 다룰 예정이다.
본 과목은 전기공학에서 다루는 일반적인 선형시스템의 해석에 필요한 행렬 및 선형대수에 관한 기초이론과 관련 기법들을 익히고, 그 응용 예들에 대해 알아봄을 목적으로 한다. 따라서 본 과목의 이수를 통하여 향후 실제 시스템문제의 해결을 위한 선형대수적 모델링 및 해석 그리고 과학으로 해를 구하는 방법론의 설계가 가능하다. 본 과목의 내용으로는 벡터와 행렬의 표현 및 종류, 선형방정식의 해법, 행렬-벡터공간 해석, 고유값 및 고유벡터, 유사변환, 최소자승문제 해석 등이 포함되는 데 이들의 의미를 자세히 배우고 그 응용 예를 익힌다.
산업공학과 경영과학에 필요한 수리적 이론과 과학계산 기법을 제공하는 것을 목적으로 하며 구체적인 내용은 행렬계산, 미분방정식, 푸리에 변환, MCMC 등을 기본적인 방법론으로 하여 산업공학에서 제기되는 다양한 수학적, 계산적 문제들을 MATLAB 또는 R 프로그래밍을 사용하여 분석하는 능력의 배양에 초점을 맞춘다.
선형대수학의 기본 개념을 배운다. 가우스 소거법과 행간소 사다리꼴에서 시작하여, 행렬과 선형사상을 학습하고, 행렬식을 정의한다. 또한 기저와 차원 등 그에 필요한 벡터공간의 기본 개념을 배운다. 기저의 변화에 따른 선형사상의 행렬표현의 변화를 이해하고 행렬의 특성다항식과 대각화, 삼각화 등을 배운다. 나아가 내적 공간 혹은 더 일반적으로 쌍선형형식이 주어진 공간을 다루고, 직교군을 정의하기 위해 초보적인 군론을 시작한다. 2차원과 3차원의 직교군과 그 구조를 이해한다. 또한 quotient space의 개념을 도입하여 차원에 관한 귀납법의 사용이 가능하도록 한다.

각종 정보를 효율적으로 관리하기 위한 데이터베이스 시스템에 대한 데이터 모델링 기법, 화일 시스템의 구성 및 인덱싱 기법, 해싱 기법,데이터베이스의 논리적 구조와 물리적 구조, 각 모델에 따른 각종 질의어(query language) 처리 및 최적화, 동시성 제어(concurrency control), 복구기법(recovery technique) 등의 데이터베이스 설계 기법에 대해서 배운다. 선수과목으로는 자료구조, 운영체제가 요구된다.