목록전체 글 (116)
while (1): study();

1절. DML - DML vs DDL 더보기 DDL은 명령어 수행과 동시에 즉시 반영 DML은 COMMIT 명령을 통해 트랜잭션 종료 (단, SQL Server는 auto commit) 1. INSERT INSERT INTO 테이블명 [칼럼들] VALUES 값들; INTO 절의 칼럼명과 VALUES 절의 값을 1:1 매핑 2. UPDATE UPDATE 테이블명 SET 칼럼명 = 값 ... [WHERE 조건식] 3. DELETE - WHERE 절을 기술하지 않으면 전체 삭제 - 전체 테이블 삭제 시 부하가 적은 TRUNCATE TABLE 사용 권고 - TRUNCATE TABLE은 ROLLBACK이 불가능 (단, SQL Server는 가능) DELETE [FROM] 테이블명 [WHERE 조건식] 4. MER..

지금까지 자연어 처리에 대해서 공부를 하면서 많은 임베딩 기법들을 접해보았습니다. 최신의 성능좋은 기술에 눈을 돌리다보니 아무래도 그 배경에 대해서는 상대적으로 소홀했던 것 같습니다. 컴퓨터에게 인간의 언어를 이해시키는 방법론은 3가지가 있습니다. 1. 시소러스 방법론 2. 통계 기반 방법론 3. 추론 기반 방법론 이 장에선 위의 반성과 더불어 통계적으로 단어를 분산 표현으로 바꾸는 방법에 대해서 알아봅니다. 1. 시소러스 시소러스의 사전적 정의는 다음과 같습니다. 즉 시소러스 기반 방법론이란, 인간이 구축한 유의어 사전을 기반으로 단어들 간의 연관성을 컴퓨터가 파악하게 하는 것입니다. 대표적인 시소러스로는 프린스턴 대학교에서 1983년부터 구축하기 시작한 WordNet이 있습니다. WordNet은 다음..

Dialogflow의 Web Demo 환경에서 HUGO를 직접 사용해볼 수 있습니다. 간단한 인삿말으로 콘도 예약 서비스를 시작해보세요! (하이, 안녕)

챗봇이란 '인간과의 대화를 통해서 특정한 작업을 수행하도록 제작된 컴퓨터 프로그램'라고 위키피디아에서 정의하고 있습니다. 이렇게만 말하면 '오, 그렇구나' 싶고 크게 와닿는 바는 없습니다. Drift's 2020 State of Conversational Marketing report(https://www.drift.com/blog/state-of-conversational-marketing/)에 따르면, 근래 브랜드의 의사소통 수단 중 가장 많이 성장한 것은 챗봇입니다. 이는 크게 두 가지 이유에 기반합니다. 1. 정감있는 사용자 경험을 제공합니다. 2. 인력면에서 비용절감 효과가 있습니다. 기업 입장에서 소비자를 만족시키는 것과, 비용을 절감하는 것은 분명 손익과 직결되는 중요한 문제들입니다. 따라서..

대부분의 내용이 반복인 점을 감안하여 새롭게 알게 된 내용을 위주로 작성하겠습니다. 이전 1권에서 곱셈, 덧셈 등 노드에 대해서 어떻게 역전파를 계산하는지 알아봤습니다. 기본적으로 역전파는 '상류에서 흘러들어온 기울기를 편미분'하여 하류로 흘려보냅니다. 여기서는 이전에 제시하지 않았던 종류의 노드를 제시하고 있습니다. 바로 Repeat 노드입니다. Repeat 노드의 순전파는 단순히 들어온 입력을 N번 복사하는 것입니다. 이는 np.repeat 함수로 쉽게 구현이 가능합니다. 반대로 역전파는 흘러들어오는 기울기에 대해서 모두 더해주는 과정입니다. 사실 Repeat 노드는 넘파이의 브로드캐스팅 기능으로 간단히 구현할 수 있기 때문에, 따로 모듈화할 필요는 없습니다. 이전의 기억을 잘 더듬어보면, 덧셈 노드..

출처: https://www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 전형적인 구현 문제입니다만, 조건이 상당히 많아서 실수없이 구현하기가 어려운 문제입니다. 평소에 구현 유형 문제를 많이 풀어보지 않으면 머리에 과부하가 걸리는 문제인 듯 합니다.. 소스코드는 다음과 같습니다. from copy import deepcopy dx = [-1, -1, 0, 1, 1, 1, 0, -1] dy = [0, -1, -1, -1, 0, 1, 1, 1] ..

출처: https://arxiv.org/abs/1502.03167 Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift Training Deep Neural Networks is complicated by the fact that the distribution of each layer's inputs changes during training, as the parameters of the previous layers change. This slows down the training by requiring lower learning rates and careful param arxiv.org 지..

이미지 처리의 기반은 CNN 아키텍처이며, CNN 아키텍처는 합성곱 연산을 사용합니다. 이는 필터와 입력 데이터에 대해서 대응하는 위치의 원소끼리 곱한 후 총합을 구하는 것입니다. 이 계산을 단일 곱셈-누산(FMA; Fused Multiply-Add)라고 합니다. 엄밀히 말하면 딥러닝에서의 연산은 교차상관이라고 부르는 것이 맞다고 합니다. 필터를 플리핑(Flipping)하면 합성곱 연산, 그렇지 않으면 교차상관입니다. 하지만 딥러닝에서 그렇게 엄밀히 구분하여 부르는 듯 하지는 않다고 하네요. 합성곱 연산을 수행하면 출력의 크기는 다음과 같이 계산됩니다. H, W는 입력의 높이와 너비, FH, FW는 필터의 높이와 너비, OH, OW는 출력의 높이와 너비, P는 패딩, S는 스트라이드를 의미합니다. $$O..

* 책 내용 요약이 아니니 유의하시기 바랍니다. 개인적으로 딥러닝의 학습 방법에 대해서는 꽤 잘 알고 있다고 생각했었는데, 사실 겉핥기 수준으로만 알고 있었다는 것을 알게 된 장입니다. 한편으로는 절망스러우면서도, 조금 더 기초를 단단히 해야 할 이유를 찾은 것 같아서 한편으로는 매우 기쁩니다. 1. 매개변수 갱신 1) SGD 이전 장에서 이미 오차역전파를 이용하여 기울기를 구할 수 있도록 코드를 구현해 놓았습니다. 이를 이용해서 훈련 시 단순히 가중치에서 그래디언트의 일정 비율을 빼는 방법으로 손실을 최소화해볼 수 있겠죠. 이것은 가장 기본적인 경사하강법(Gradient Descent)이며, 배치 기준으로 랜덤하게 하강시키는 방식을 확률적 경사하강법(SGD; Stochastic Gradient Desc..

1절. 서브 쿼리 - 조인과 서브 쿼리 조인 : 집합 간의 곱 관계 서브쿼리 : 항상 메인쿼리 레벨의 집합 - 주의사항 더보기 1. 괄호로 감싸 기술 2. 비교연산자와 사용 가능 3. ORDER BY 사용 불가 - 분류 1) 동작 방식 더보기 비연관 서브쿼리: 서브쿼리가 메인쿼리 칼럼을 가지고 있지 않음 연관 서브쿼리: 서브쿼리가 메인쿼리 칼럼을 가지고 있음 2) 결과 데이터 형태 더보기 단일 행 서브 쿼리: 서브쿼리 실행 결과 1건 이하 다중 행 서브 쿼리: 서브쿼리 실행 결과 여러 개 다중 칼럼 서브 쿼리(Oracle): 여러 칼럼 반환 1. 단일 행 서브 쿼리 - 단일 행 비교 연산자 사용: =, =, SELECT PLAYER_NAME AS 선수명, POSITION AS 포지션, BACK_NO AS..