• 제목/요약/키워드: 병렬 GPU

검색결과 315건 처리시간 0.022초

스마트 시설환경 환경변수 분석을 위한 Open source 기반 인공지능 활용법 분석 (A Benchmark of AI Application based on Open Source for Data Mining Environmental Variables in Smart Farm)

  • 민재기;이동훈
    • 한국농업기계학회:학술대회논문집
    • /
    • 한국농업기계학회 2017년도 춘계공동학술대회
    • /
    • pp.159-159
    • /
    • 2017
  • 스마트 시설환경은 대표적으로 원예, 축산 분야 등 여러 형태의 농업현장에 정보 통신 및 데이터 분석 기술을 도입하고 있는 시설화된 생산 환경이라 할 수 있다. 근래에 하드웨어적으로 급증한 스마트 시설환경에서 생산되는 방대한 생육/환경 데이터를 올바르고 적합하게 사용하기 위해서는 일반 산업 현장과는 차별화 된 분석기법이 요구된다고 할 수 있다. 소프트웨어 공학 분야에서 연구된 빅데이터 처리 기술을 기계적으로 농업 분야의 빅데이터에 적용하기에는 한계가 있을 수 있다. 시설환경 내/외부의 다양한 환경 변수는 시계열 데이터의 난해성, 비가역성, 불특정성, 비정형 패턴 등에 기인하여 예측 모델 연구가 매우 난해한 대상이기 때문이라 할 수 있다. 본 연구에서는 근래에 관심이 급증하고 있는 인공신경망 연구 소프트웨어인 Tensorflow (www.tensorflow.org)와 대표적인 Open source인 OpenNN (www.openn.net)을 스마트 시설환경 환경변수 상호간 상관성 분석에 응용하였다. 해당 소프트웨어 라이브러리의 운영환경을 살펴보면 Tensorflow 는 Linux(Ubuntu 16.04.4), Max OS X(EL capitan 10.11), Windows (x86 compatible)에서 활용가능하고, OpenNN은 별도의 운영환경에 대한 바이너리를 제공하지 않고 소스코드 전체를 제공하므로, 해당 운영환경에서 바이너리 컴파일 후 활용이 가능하다. 소프트웨어 개발 언어의 경우 Tensorflow는 python이 기본 언어이며 python(v2.7 or v3.N) 가상 환경 내에서 개발이 수행이 된다. 주의 깊게 살펴볼 부분은 이러한 개발 환경의 제약으로 인하여 Tensorflow의 주요한 장점 중에 하나인 고속 연산 기능 수행이 일부 운영 환경에 국한이 되어 제공이 된다는 점이다. GPU(Graphics Processing Unit)의 제공하는 하드웨어 가속기능은 Linux 운영체제에서 활용이 가능하다. 가상 개발 환경에 운영되는 한계로 인하여 실시간 정보 처리에는 한계가 따르므로 이에 대한 고려가 필요하다. 한편 근래(2017.03)에 공개된 Tensorflow API r1.0의 경우 python, C++, Java언어와 함께 Go라는 언어를 새로 지원하여 개발자의 활용 범위를 매우 높였다. OpenNN의 경우 C++ 언어를 기본으로 제공하며 C++ 컴파일러를 지원하는 임의의 개발 환경에서 모두 활용이 가능하다. 특징은 클러스터링 플랫폼과 연동을 통해 하드웨어 가속 기능의 부재를 일부 극복했다는 점이다. 상기 두 가지 패키지를 이용하여 2016년 2월부터 5월 까지 충북 음성군 소재 딸기 온실 내부에서 취득한 온도, 습도, 조도, CO2에 대하여 Large-scale linear model을 실험적(시간단위, 일단위, 주단위 분할)으로 적용하고, 인접한 세그먼트의 환경변수 예측 모델링을 수행하였다. 동일한 조건의 학습을 수행함에 있어, Tensorflow가 개발 소요 시간과 학습 실행 속도 측면에서 매우 우세하였다. OpenNN을 이용하여 대등한 성능을 보이기 위해선 병렬 클러스터링 기술을 활용해야 할 것이다. 오프라인 일괄(Offline batch)처리 방식의 한계가 있는 인공신경망 모델링 기법과 현장 보급이 불가능한 고성능 하드웨어 연산 장치에 대한 대안 마련을 위한 연구가 필요하다.

  • PDF

공연로봇을 위한 인간자세 추정방법 개선에 관한 연구 (A Study on Improvement of the Human Posture Estimation Method for Performing Robots)

  • 박천유;박재훈;한재권
    • 방송공학회논문지
    • /
    • 제25권5호
    • /
    • pp.750-757
    • /
    • 2020
  • 공연에 사용하는 로봇이 인간과의 상호작용하기 위한 기본 성능 중 하나는 인간의 행동을 빠르고 정확하게 파악하는 것이다. 따라서 로봇이 인간의 자세를 추정할 때 자세 인식의 정확도를 높임과 동시에 가능한 빠른 속도로 인식할 수 있어야 한다. 그러나 현재 인공지능 기술의 대표적인 방식인 딥 러닝을 사용하여 인간의 자세를 추정할 경우, 인식의 정확도와 속도라는 두 가지 성능을 동시에 만족하지 못하고 있다. 따라서 사용 목적에 따라 추론정확도가 높은 하향식 자세추정과 처리속도가 빠른 상향식 자세추정 중 하나를 선택해서 사용하는 것이 일반적이다. 본 논문에서는 앞서 언급한 두 가지 방식이 가진 장점을 모두 포함하면서 단점을 보완한 두 가지 방식을 제안한다. 첫 번째는 다중 그래픽 처리 장치를 활용해 상향식 자세추정과 물체검출을 병렬로 사용하는 방식이고, 두 번째는 상향식 자세추정과 단항분류를 융합하는 방식이다. 실험을 통해 두 가지 방식 모두 속도가 개선됨을 증명했다. 공연로봇에 이 두 가지 방식 중 하나를 사용한다면, 관객과 신뢰도 높으며 보다 빠른 상호작용을 수행할 수 있을 것으로 기대된다.

GPGPU를 활용한 스파크 기반 공간 연산 (Spatial Computation on Spark Using GPGPU)

  • 손찬승;김대희;박능수
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제5권8호
    • /
    • pp.181-188
    • /
    • 2016
  • 최근 급격히 증가하는 공간 데이터를 효율적으로 처리하기 위해 많은 연구들이 진행되고 있다. 기존 관계형 데이터베이스 시스템을 확장한 공간 데이터베이스 시스템은 확장성에 대한 문제가 있으며, 분산 처리 플랫폼인 하둡을 확장한 SpatialHadoop은 중간 연산 결과를 디스크에 작성하기 때문에 파일 입출력의 오버헤드로 성능이 저하되는 문제가 있다. 본 논문은 인-메모리 기반 분산 처리 프레임워크인 스파크를 확장한 공간 연산 스파크를 제안하였다. 또한 공간 연산 스파크의 성능을 향상시키기 위하여 GPGPU를 결합한 모델을 개발하였다. 공간 연산 스파크는 중간 연산 결과를 메모리에 유지시키는 스파크의 특징을 그대로 사용하고 있으며, GPGPU 기반 공간 연산 스파크의 경우 다수의 PE를 이용하여 병렬처리하기 때문에 효율적으로 공간 연산을 수행할 수 있다. 본 논문은 단일 AMD 시스템에서 공간 연산 스파크와 GPGPU 기반 공간 연산 스파크를 구현하였다. 공간 연산 스파크와 GPGPU 기반 공간 연산 스파크의 성능을 평가하기 위하여 Point-in-Polygon 연산과 Spatial Join 연산을 수행하였으며, SpatialHadoop에 비하여 최대 8배의 성능 향상을 확인하였다.

근접 치료에서 역방향 치료 계획의 선량분포 계산 가속화 방법 (An Accelerated Approach to Dose Distribution Calculation in Inverse Treatment Planning for Brachytherapy)

  • 조병두
    • 한국방사선학회논문지
    • /
    • 제17권5호
    • /
    • pp.633-640
    • /
    • 2023
  • 최근 근접 치료에서 방사선 차폐막을 사용하여 선량 분포를 변조하여 선량을 전달하는 정적 및 동적 변조 근접 치료 방법이 개발됨에 따라 새로운 방향성 빔 세기 변조 근접 치료에 적합한 역방향 치료 계획 및 치료 계획 최적화 알고리즘에서 선량 계산에 필요한 파라미터 및 데이터의 양이 증가하고 있다. 세기 변조 근접 치료는 방사선의 정확한 선량 전달이 가능하지만, 파라미터와 데이터의 양이 증가하기 때문에 선량 계산에 필요한 경과 시간이 증가한다. 본 연구에서는 선량 계산 경과 시간의 증가를 줄이기 위해 그래픽 카드 기반의 CUDA 가속 선량 계산 알고리즘을 구축하였다. 계산 과정의 가속화 방법은 관심 체적의 시스템 행렬 계산 및 선량 계산의 병렬화를 이용하여 진행하였다. 개발된 알고리즘은 모두 인텔(3.7GHz, 6코어) CPU와 단일 NVIDIA GTX 1080ti 그래픽 카드가 장착된 동일한 컴퓨팅 환경에서 수행하였으며, 선량 계산 시간은 디스크에서 데이터를 불러오고 전처리를 위한 작업 등의 추가 적으로 필요한 시간은 제외하고 선량 계산 시간만 측정하여 평가하였다. 그 결과 가속화된 알고리즘은 CPU로만 계산할 때보다 선량 계산 시간이 약 30배 단축된 것으로 나타났다. 가속화된 선량 계산 알고리즘은 적응방사선치료와 같이 매일 변화되는 어플리케이터의 움직임을 고려하여 새로운 치료 계획을 수립해야 하는 경우나 동적 변조 근접 치료와 같이 선량 계산에 변화되는 파라미터를 고려해야 하는 경우 치료 계획 수립 속도를 높일 수 있을 것으로 판단된다.

전이학습 기반 다중 컨볼류션 신경망 레이어의 활성화 특징과 주성분 분석을 이용한 이미지 분류 방법 (Transfer Learning using Multiple ConvNet Layers Activation Features with Principal Component Analysis for Image Classification)

  • 바트후 ?바자브;주마벡 알리하노브;팡양;고승현;조근식
    • 지능정보연구
    • /
    • 제24권1호
    • /
    • pp.205-225
    • /
    • 2018
  • Convolutional Neural Network (ConvNet)은 시각적 특징의 계층 구조를 분석하고 학습할 수 있는 대표적인 심층 신경망이다. 첫 번째 신경망 모델인 Neocognitron은 80 년대에 처음 소개되었다. 당시 신경망은 대규모 데이터 집합과 계산 능력이 부족하여 학계와 산업계에서 널리 사용되지 않았다. 그러나 2012년 Krizhevsky는 ImageNet ILSVRC (Large Scale Visual Recognition Challenge) 에서 심층 신경망을 사용하여 시각적 인식 문제를 획기적으로 해결하였고 그로 인해 신경망에 대한 사람들의 관심을 다시 불러 일으켰다. 이미지넷 첼린지에서 제공하는 다양한 이미지 데이터와 병렬 컴퓨팅 하드웨어 (GPU)의 발전이 Krizhevsky의 승리의 주요 요인이었다. 그러므로 최근의 딥 컨볼루션 신경망의 성공을 병렬계산을 위한 GPU의 출현과 더불어 ImageNet과 같은 대규모 이미지 데이터의 가용성으로 정의 할 수 있다. 그러나 이러한 요소는 많은 도메인에서 병목 현상이 될 수 있다. 대부분의 도메인에서 ConvNet을 교육하기 위해 대규모 데이터를 수집하려면 많은 노력이 필요하다. 대규모 데이터를 보유하고 있어도 처음부터 ConvNet을 교육하려면 많은 자원과 시간이 소요된다. 이와 같은 문제점은 전이 학습을 사용하면 해결할 수 있다. 전이 학습은 지식을 원본 도메인에서 새 도메인으로 전이하는 방법이다. 전이학습에는 주요한 두 가지 케이스가 있다. 첫 번째는 고정된 특징점 추출기로서의 ConvNet이고, 두번째는 새 데이터에서 ConvNet을 fine-tuning 하는 것이다. 첫 번째 경우, 사전 훈련 된 ConvNet (예: ImageNet)을 사용하여 ConvNet을 통해 이미지의 피드포워드 활성화를 계산하고 특정 레이어에서 활성화 특징점을 추출한다. 두 번째 경우에는 새 데이터에서 ConvNet 분류기를 교체하고 재교육을 한 후에 사전 훈련된 네트워크의 가중치를 백프로퍼게이션으로 fine-tuning 한다. 이 논문에서는 고정된 특징점 추출기를 여러 개의 ConvNet 레이어를 사용하는 것에 중점을 두었다. 그러나 여러 ConvNet 레이어에서 직접 추출된 차원적 복잡성을 가진 특징점을 적용하는 것은 여전히 어려운 문제이다. 우리는 여러 ConvNet 레이어에서 추출한 특징점이 이미지의 다른 특성을 처리한다는 것을 발견했다. 즉, 여러 ConvNet 레이어의 최적의 조합을 찾으면 더 나은 특징점을 얻을 수 있다. 위의 발견을 토대로 이 논문에서는 단일 ConvNet 계층의 특징점 대신에 전이 학습을 위해 여러 ConvNet 계층의 특징점을 사용하도록 제안한다. 본 논문에서 제안하는 방법은 크게 세단계로 이루어져 있다. 먼저 이미지 데이터셋의 이미지를 ConvNet의 입력으로 넣으면 해당 이미지가 사전 훈련된 AlexNet으로 피드포워드 되고 3개의 fully-connected 레이어의 활성화 틀징점이 추출된다. 둘째, 3개의 ConvNet 레이어의 활성화 특징점을 연결하여 여러 개의 ConvNet 레이어의 특징점을 얻는다. 레이어의 활성화 특징점을 연결을 하는 이유는 더 많은 이미지 정보를 얻기 위해서이다. 동일한 이미지를 사용한 3개의 fully-connected 레이어의 특징점이 연결되면 결과 이미지의 특징점의 차원은 4096 + 4096 + 1000이 된다. 그러나 여러 ConvNet 레이어에서 추출 된 특징점은 동일한 ConvNet에서 추출되므로 특징점이 중복되거나 노이즈를 갖는다. 따라서 세 번째 단계로 PCA (Principal Component Analysis)를 사용하여 교육 단계 전에 주요 특징점을 선택한다. 뚜렷한 특징이 얻어지면, 분류기는 이미지를 보다 정확하게 분류 할 수 있고, 전이 학습의 성능을 향상시킬 수 있다. 제안된 방법을 평가하기 위해 특징점 선택 및 차원축소를 위해 PCA를 사용하여 여러 ConvNet 레이어의 특징점과 단일 ConvNet 레이어의 특징점을 비교하고 3개의 표준 데이터 (Caltech-256, VOC07 및 SUN397)로 실험을 수행했다. 실험결과 제안된 방법은 Caltech-256 데이터의 FC7 레이어로 73.9 %의 정확도를 얻었을 때와 비교하여 75.6 %의 정확도를 보였고 VOC07 데이터의 FC8 레이어로 얻은 69.2 %의 정확도와 비교하여 73.1 %의 정확도를 보였으며 SUN397 데이터의 FC7 레이어로 48.7%의 정확도를 얻었을 때와 비교하여 52.2%의 정확도를 보였다. 본 논문에 제안된 방법은 Caltech-256, VOC07 및 SUN397 데이터에서 각각 기존에 제안된 방법과 비교하여 2.8 %, 2.1 % 및 3.1 %의 성능 향상을 보였다.