Oneulog

논문 링크 : Efficient Estimation of Word Representations in Vector Space 0. Abstract 단어의 연속 벡터 표현을 계산하기 위한 2가지 새로운 모델 아키텍처를 제안한다. 결과는 이전에 다양한 유형의 신경망을 기반으로 최고 성능을 발휘했던 기술들과 비교되며, 우리가 제안하는 방식을 통해 훨씬 낮은 비용으로 정확도가 크게 향상하는 것을 관찰했다. 16억 개의 단어 데이터세트에서 고품질의 단어 벡터를 학습하는데 하루가 채 걸리지 않으며, 이러한 벡터는 구문 및 의미 단어 유사성을 측정하기 위한 우리의 테스트셋에서 최첨단 성능을 제공한다. 1. Introduction현재 많은 NLP 시스템과 기술은 단어를 원자 단위로 다루며, 단어 사이의 유사성에 대한 개..
동기와 비동기의 차이는 프로그램의 흐름 제어와 관련이 있다. 동기 방식은 I/O 작업이 완료될 때까지 프로그램의 흐름이 멈추지만, 비동기 방식은 I/O 작업을 백그라운드에서 진행하면서 메인 프로그램의 흐름을 계속 진행한다. 이처럼 동기 I/O는 요청한 작업이 완료될 때까지 기다리는 반면, 비동기 I/O는 요청한 작업이 처리되는 동안 다른 작업을 계속해서 수행한다. 동기 I/O 동기 I/O는 프로그램이 I/O 작업을 요청하고, 해당 작업이 완료될 때까지 기다리는 방식이다. 데이터의 입/출력 작업이 진행되는 동안 프로그램은 다른 작업을 진행하지 않고 기다린다. 가장 간단하고 직관적이지만, I/O 작업이 오래 걸리는 경우 프로그램의 효율성이 크게 저하될 수 있다. 비동기 I/O 비동기 I/O는 프로그램이 I/..
기본적인 입출력 제어 방식 메모리에서 데이터를 꺼낸 후 시스템 버스를 통해 CPU 레지스터에 옮겨지고 다시 시스템 버스를 통해 다시 시스템 버스를 통해 CPU 레지스터에서 메모리로 이동한다. 이처럼 모든 메모리 접근 연산이 CPU에 의해서만 이루어질 경우 주변 장치가 메모리 접근을 원할 때마다 인터럽트를 통해 CPU의 작업이 방해받게 되어 사용 효율성이 떨어진다. DMA 메모리 버퍼, 포인터, 카운터를 사용해 장치 제어기가 CPU의 도움없이 DMA 컨트롤러를 이용해 데이터를 직접 메모리로 전송하는 입출력 방식을 말한다. DMA의 필요성 고속의 I/O 장치의 경우 인터럽트로 CPU의 실제 프로세스 작업 시간 감소 디스크 같은 많은 데이터를 입/출력하는 장치를 위해 CPU가 매번 전송을 제어하는 방법의 비효..
1. 폴링(Polling) 폴링이란 CPU가 작업을 진행하면서 입출력 명령을 만나면 직접 입출력 장치에서 데이터를 가져오는 방식이다. CPU가 직접 일을 작업을 하기 때문에 입출력을 하는 동안 다른 작업은 할 수 없다. 따라서 입출력이 처리되는 동안 기다려야 하는데 시간이 오래 걸리며 작업 효율이 떨어져 현재는 사용하지 않는다. 2. 인터럽트(Interrupt) 인터럽트는 프로그램을 실행하는 도중에 예기치 못한 상황이 발생할 경우 CPU를 잠깐 정지시켜 현재 실행 중인 작업을 즉시 중단하고, 발생된 상황에 대한 우선 처리가 필요함을 CPU에게 알리는 것을 말한다. 인터럽트가 발생되면 인터럽트 핸들러 함수가 모여 있는 인터럽트 벡터로 가서 인터럽트 핸들러 함수가 실행된다. 인터럽트 간에는 우선 순위가 있고..
1. 동시 작업 지원 여부에 따른 분류 운영체제는 동시 작업을 지원하는지의 여부에 따라 단일작업(Single Tasking) 운영체제와 다중작업(Multi Tasking) 운영체제로 나뉜다. (1) 단일작업(Single Tasking) 운영체제 한 번에 하나의 프로그램만 실행시킬 수 있는 운영체제이다. 도스 환경이 이에 속한다. (2) 다중 작업(Multi Tasking) 운영체제 하나의 프로그램이 끝나기 전에 다른 프로그램을 실행시키는 것이 가능한 운영체제이다. MS 윈도우나 유닉스가 이에 속한다. 운영체제가 다중 작업을 처리할 때 여러 프로그램이 CPU와 메모리를 공유하게 되는데, 비록 CPU가 하나밖에 없어 매 순간 하나의 프로그램만 CPU에서 실행되지만 CPU의 처리 속도가 매우 빨라 수밀리초(m..
0. 운영체제란? 운영체제는 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스이다. 1. 운영체제의 역할과 구조 (1) 운영체제의 역할 CPU 스케줄링과 프로세스 관리 : CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리 메모리 관리 : 한정된 메모리를 어떤 프로세스에 얼만큼 할당해야 하는지 관리 디스크 파일 관리 : 디스크 파일을 어떤 방법으로 보관할지 관리 I/O 디바이스 관리 : I/O 디바이스들인 마우스, 키보드와 컴퓨터 간에 데이터를 주고받는 것을 관리 (2) 운영체제의 구조 유저 프로그램이 맨 위에 있고 그 다음으로 GUI, 시스템콜, 커널, 드라이버가 있으며 가장 밑에 하드웨어가 있는 구조이다. 이 중 GUI, 인터페이스, 커널, 드라이버 부분이 운..
https://www.acmicpc.net/problem/11401 11401번: 이항 계수 3 자연수 \(N\)과 정수 \(K\)가 주어졌을 때 이항 계수 \(\binom{N}{K}\)를 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 자연수 \(N\)과 정수 \(K\)가 주어졌을 때 이항 계수 \(\binom{N}{K}\)를 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 4,000,000, 0 ≤ \(K\) ≤ \(N\)) 출력 \(\binom{N}{K}\)를 1,000,000,007로 나눈 나머지를 출력한다. 풀이 Code import sys ..
https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 문제 방향성이 없는 그래프가 주어진다. 세준이는 1번 정점에서 N번 정점으로 최단 거리로 이동하려고 한다. 또한 세준이는 두 가지 조건을 만족하면서 이동하는 특정한 최단 경로를 구하고 싶은데, 그것은 바로 임의로 주어진 두 정점은 반드시 통과해야 한다는 것이다. 세준이는 한번 이동했던 정점은 물론, 한번 이동했던 간선도 다시 이동할 수 있다. 하지만 반..
NLP Developer
Oneul