전체 글 64

DBMS(DataBase Management System)란? DBMS의 필수 기능, 장단점

이 글은 학부 수업을 들으면서 개인적으로 정리한 글입니다. 잘못된 내용이 있다면 댓글로 말씀 부탁드립니다! DBMS란 DBMS(DataBase Management System)은 기존 파일 시스템의 데이터 종속성(Data Dependency)과 데이터 중복성(Data Redundancy) 문제를 해결하기 위해 제안됐다. DBMS는 다양한 사용자가 필요로 하는 데이터베이스를 정의, 생성, 조작, 공유할 수 있도록 기능을 제공하는 소프트웨어 시스템을 말한다. 이런 환경 하에 응용 프로그램들이 데이터베이스를 이용하기 위해서는 DBMS를 통해야 하며, 데이터베이스의 구성, 접근방법, 그리고 관리유지에 대한 모든 책임을 DBMS가 지고 있다. DBMS의 기본적인 아이디어는 아래 그림처럼 묘사된다. DBMS의 필수..

API(Application Programming Interface)란?

갑자기 API가 정확히 무엇인지 의문이 들어 정리했습니다. 위키백과를 보면, API(Application Programming Interface)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 라고 쓰여있습니다. 인터페이스 먼저, 흔히들 말하는 인터페이스가 무엇인지 한번 이해해보겠습니다. 인터페이스(interface)는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 교환하는 공유 경계를 의미합니다. (쉽게 생각하면 객체와 객체 사이의 매개체 정도로 받아들여도 될 것 같습니다.) 이러한 교환은 소프트웨어, 하드웨어, 주변기기, 사람 간에 이루어질 수 있고, 복합적으로 이루어질 수도 있습니다. 터치스크린과 같은 일부..

기타 2021.09.09

데이터베이스의 개념적 구성 (개체, 속성, 관계)

이 글은 학부 수업을 들으면서 개인적으로 정리한 글입니다. 잘못된 내용이 있다면 댓글로 말씀 부탁드립니다! 데이터베이스의 개념적 구성 데이터베이스는 개념적으로 개체(Entity)와 관계(Relationship)로 구성되어 있다. 개체 (Entity) 현실세계에 대해 사람이 생각하는 개념이나 정보의 단위이며 개체는 컴퓨터가 취급하는 파일(file)의 레코드에 대응된다. 하나의 개체는 하나 이상의 속성(Attribute)로 구성되며 각 속성은 그 개체의 성질이나 상태를 기술해주는 역할을 한다. 속성은 데이터의 가장 작은 논리적 단위가 되며, 단독으로 존재하지 못한다. '학생'이라는 개체에 대한 예시와 함께 나머지 개념들을 살펴봅시다. 학번 이름 학과 2017000001 홍길동 수학과 2018000001 박길..

데이터베이스 정의, 특징

이 글은 학부 수업을 들으면서 개인적으로 정리한 글입니다. 잘못된 내용이 있다면 댓글로 말씀 부탁드립니다! 데이터베이스의 정의와 특징 데이터베이스 정의 어느 한 조직의 여러 응용 시스템들이 공용할 수 있도록 통합 및 저장된 운영 데이터의 집합. 1. 통합 데이터(Integrated data) 하나의 주제에 따라 중복을 최소화한 데이터. 원칙적으로 중복(redundancy)을 배제하나 통제된 중복(controlled redundancy)이 되어야 한다. ( 불가피한 중복은 허용함. ) 2. 저장 데이터(Stored data) 언제든 이용할 수 있도록 저장 매체에 저장된 데이터를 말한다. (저장 매체는 하드 디스크나 메모리와 같이 컴퓨터가 접근할 수 있는 매체를 말함.) 3. 운영 데이터(Operationa..

Outlier Detection, Novelty Detection의 차이

정상적인 샘플과 비정상적인 샘플을 나누는 비슷한 작업이지만 굳이 나누자면, 조금은 다르다. (참고자료의 사이킷런 공식 문서를 확인하면 다양한 예시 확인 가능) Novelty Detection 훈련 데이터셋에 있는 모든 샘플과 달라 보이는 새로운 샘플을 탐지하는 것이 목적이다. (훈련 데이터에 포함된 샘플은 특이치로 생각하지 않는다.) 즉, Training data가 특이치 데이터를 포함되지 않은 채 학습하고 (사이킷런의 문서에서는 오염되지 않았다고 표현), 예측시 새로운 관측치인지 확인한다. 따라서 알고리즘으로 감지하고 싶은 샘플들을 제거한 훈련 데이터셋이 필요하다. Outlier Detection 훈련 데이터셋에 정상 샘플과 이상치 샘플을 모두 포함하고 있다. ( 대부분 정상 샘플 ) 즉, Traini..

CUDA 소개 (GPGPU, 지원 언어)

이 글은 학부 수업을 들으면서 개인적으로 정리한 글입니다. 잘못된 내용이 있다면 댓글로 말씀 부탁드립니다! CUDA(Comute Unified Device Architecture)는 이름에서도 확인 가능하듯이 기기나 프로그래밍 언어가 아닌 하나의 시스템(또는 모델)이다. 엔비디아(NVIDIA)가 개발, 관리하고 있으며 이 아키텍처를 사용하기 위해서는 엔비디아 GPU와 특별한 처리 드라이버가 필요하다. GPGPU 먼저 쿠다에 대한 얘기를 하기 전, GPGPU라는 기술에 대해 알아야 한다. 예전의 GPU는 일반적으로 컴퓨터 그래픽스 분야에 주로 활용했다. GPGPU(General Purpose computing on Graphics Processing Units)는 일반적으로 컴퓨터 그래픽스를 위한 계산에 ..

병렬 컴퓨팅 소개 (CPU, GPU, 발전 과정)

이 글은 학부 수업을 들으면서 개인적으로 정리한 글입니다. 잘못된 내용이 있다면 댓글로 말씀 부탁드립니다! CPU와 GPU 중앙 처리 장치, CPU(Central Processing Unit)는 컴퓨터가 계산하는데 있어 가장 핵심적인 부품으로 보통 1개의 독립된 칩 형태. 그래픽스 처리 장치, GPU(Graphics Processing Unit)는 보통 카드 형태. 이 전에는 CPU가 주로 계산을 담당, GPU가 화면을 출력하는 용도로 쓰였던 것에 반해, 최근에는 GPU 즉 그래픽 카드를 계산에 사용하는 추세다. 간단하게 차이점을 보자면 CPU와 달리 GPU는 코어가 많음. CPU는 복잡한 계산을 빠르게 할 수 있지만, 모두 직렬로 처리. GPU는 간단한 계산을 빠르게 할 수 있고, 많은 연산을 병렬로 ..

[Deep Learning] 어텐션 메커니즘 (Attention Mechanism) 아이디어 이해하기

전 포스팅에서 seq2seq에 대해 정리했습니다. (https://kingnamji.tistory.com/28) seq2seq의 인코더가 context vector를 만들 때 정보의 소실이 일어나는 점을 확인했습니다. 이번 포스팅에서는 깊은 내용보다는 아이디어에 주목해 최대한 이해에 집중하겠습니다. 아이디어 어텐션(Attention)은 말 그대로 필요한 정보에 주목해 그 정보로부터 sequence 변환을 수행하는 구조입니다. 어텐션 매커니즘은 기계번역을 위한 seq2seq모델에 처음 도입됐습니다. 예시 필요한 정보에만 주목한다는 점을 seq2seq모델을 만들 때 사용한다고 하고 예시를 들어 봅시다. 한국어 "나는 고양이를 좋아한다."를 영어 "I like cats"로 번역한다면, 'cats'를 예측할 때..

[Deep Learning] seq2seq (Encoder - Decoder)

RNN을 응용한 seq2seq에 대해 정리하겠습니다. seq2seq seq2seq(sequence to sequence)는 이름 그대로, 어떤 Sequence(시계열 데이터)를 입력 받아 다른 Sequence(시계열 데이터)로 mapping(변환)하는 방법입니다. 일반적인 RNN에서는 입력과 출력 sequence의 크기가 고정됐었지만, (입력 sequence의 크기는 패딩을 통해 동일한 크기로 만들어 주는 처리를 했었습니다.) 기계 번역이나 음성 인식과 같은 분야에서는 각 sequence에 대한 길이를 미리 알 수 없고, 가변적인 출력 sequence에 대한 처리가 필요합니다. 이런 문제의 해결을 위해 seq2seq을 사용합니다. 구조 seq2seq의 구조 예시입니다. 입력 'ABC'를 받아 'WXYZ'..

[Deep Learning] LSTM 개념 정리

전 포스팅에서 RNN에 관한 기본적인 내용을 정리하고, 마지막에는 문제점까지 알아봤습니다. https://kingnamji.tistory.com/26 [Deep Learning] RNN 개념 정리 순환 신경망이라고 부르는 RNN에 대한 내용을 정리해보겠습니다. RNN RNN은 Recurrent Neural Network의 줄임말로, 순환하는 신경망이라고 직역할 수 있습니다. (Recursive Neural Network, 재귀 신경망과는 다른. kingnamji.tistory.com 이번에는 LSTM(long short-term memory)에 대해 정리해보겠습니다. LSTM의 구조 아래의 그림은 RNN과 LSTM의 구조를 나타냅니다. RNN은 하나의 hidden state만을 갖고있습니다. LSTM은 ..