��1��@����Ȃ��I�@PyTorch�Ńj���[�����l�b�g���[�N�̊�{�FPyTorch����

PyTorch�̏K���́A�V���v���ȃj���[�����l�b�g���[�N�iNN�j�́A�܂���1�‚����̃j���[�������������邱�Ƃ���n�߂Ă݂悤�B�j���[�����̃��f����`����n�߁A�t�H���[�h�v���p�Q�[�V�����ƃo�b�N�v���p�Q�[�V�����Ƃ������Œ���K�v�ȁu�j�v�ƂȂ��{�@�\�ɍi���ĉ���B���������ɂ‚��Ă��ȒP�ɐG���B

» 2020�N02��06�� 05��00�� ���J
[��F���F�C�f�W�^���A�h�o���e�[�W]

���̋L���͉������ł��B����o�^�i�����j����ƑS�Ă������������܂��B

�uPyTorch����v�̃C���f�b�N�X

�A�ږڎ�

�@�l�C�}�㏸�́uPyTorch�v���g�������B�����l���āAPyTorch�̌����`���[�g���A�����J���Ċw�K���n�߂Ă݂��A�Ƃ����l�͏��Ȃ��Ȃ����낤�B�������A���܂��Ă��܂�����A�Ȃ��Ȃ��i�܂Ȃ�������A�Ƃ����l�����Ȃ��Ȃ��̂ł͂Ȃ����낤���B

�@�Ƃ����̂��A���������`���[�g���A���́A�ŏ��́u�e���\���v��������́iNumPy���C�N�Ȓ��ϓI��API�Ȃ̂Łj����Ȃ��Ƃ��Ă��A�����uAutograd�i���������j�v�A���̎����u�j���[�����l�b�g���[�N�v�c�c�ƌ����‚‚��A�����Ȃ�uCNN�i��ݍ��݃j���[�����l�b�g���[�N�j�v�ɂ������ɂȂ��Ă��邩�炾�B�j���[�����l�b�g���[�N��f�B�[�v���[�j���O�̌o�����󂢏��S�҂ɂƂ��āA���������������n�C���x���Ȏ��_����̉���́APyTorch�@�\���̂��̂��w�ԍۂ́u�����̖W���v�ɂȂ�₷�����낤�B�������������`���[�g���A����API�h�L�������g���p��ł����񋟂���Ă��Ȃ��A�Ƃ�����ǂ�����i���������ŋ߂́AChrome�u���E�U�[�����m���{��ɖ|��n�@�\���D�G�Ȃ̂ŁA�@�B�|�󂷂�Ώ\���ɓǂ߂邪�j�B

�@PyTorch�͂킴�Ɓu����̕ǁv���������āA������x�̒m��������l�����������ė�����悤�Ɂu��O�����v���Ă���̂ł͂Ȃ����B�M���͂���Ȃӂ��ɂ��犴���Ă���B

PyTorch�����ē���Ȃ�

�@������PyTorch�͂��傹��g�c�[���h�ɉ߂��Ȃ��B�����܂Ńc�[���Ƃ��đ����āuPyTorch�����p����͓̂���Ȃ��v�Ɩ{�A�ڂł͎咣�������B

�}0-1�@�������m�uPyTorch�����ē���Ȃ��I�v�A�}�i�u����u�z���g�ɁH�v �}0-1�@�������m�uPyTorch�����ē���Ȃ��I�v�A�}�i�u����u�z���g�ɁH�v

�{�A�ڂ̖ړI�ƕ��j

�@PyTorch�͐��E�I�Ȑl�C�̂��ɂ́A���{��̕�����₷���`���[�g���A�����܂��قƂ�ǂȂ��B�����Ŗ{�A�ڂ́A���{��ɂ��`���[�g���A������L���Ƃ��āA�ł��邾���V���v���ȃj���[�����l�b�g���[�N���ނɂ��āAPyTorch�Ńj���[�����l�b�g���[�N�����p���邽�߂̍ŏd�v���Œ���̊�b�m�����ŒZ�Ő������Ă����i����{���̊�{��{�A�ڂ̑�1��`��3���3�{�ɂ܂Ƃ߂��j�B

�@�ǎ҂ɑz�肷��S�[���Ƃ��ẮAPyTorch�̊�{�I�Ȏ����p�^�[���𗝉����A�����I�ȃj���[�����l�b�g���[�N���f�B�[�v���[�j���O�̃R�[�h���v���ʂ�ɏ�����悤�ɂȂ邱�ƁA�Ƃ������B

�@�{�A�ڂ̓ǎґΏۂ́A�u�j���[�����l�b�g���[�N�̊�{���w�񂾂��Ƃ����郌�x���v��z�肵�Ă���B��̓I�ɂ́A�A�ځwTensorFlow 2�{Keras�itf.keras�j�����x�̂����A���L�́u�d�g�ݗ����~�������v�̑O�ҁE���ҁE��҂�3�{��ǂ�ŁA���e�𗝉����Ă����ԂƂ���B

�@�Ⴆ�΁u�j���[�����v�u�������֐��v�u�������v�u���z�v�u�m���I���z�~���@�iSGD�j�v�ƕ����āA�u���̊T�O��������Ȃ��v�Ƃ������ꍇ�ɂ́A��ɏ�L3�{�̋L���ɖڂ�ʂ��Ăق����B����3�{�̋L���ł́A�j���[�����l�b�g���[�N�̋�����}�Ŏ����Ȃ���A�d�g�݁i��Keras�ɂ��������@�j�𕪂���₷���������Ă���̂ł����߂ł���B

�@�{�A�ڂł́APython�i�o�[�W����3.6�j�ƁA�f�B�[�v���[�j���O�̃��C�u�����uPyTorch�v�̍ŐV��1.4�𗘗p����B�܂��A�J���‹���Google Colaboratory�i�ȉ��AColab�j��p����B


Google Colab�Ŏ��s����
GitHub�Ń\�[�X�R�[�h������

�@���������������n�߂悤�I

PyTorch�Ƃ́H

�@PyTorch�i�p�C�g�[�`�j�Ƃ́AFacebook���J�����Ă���I�[�v���\�[�X�̋@�B�w�K�i���Ƀf�B�[�v���[�j���O�j�̃��C�u�����ł���B���̑�\�I�ȓ�����3�‚���������Ƃ���΁A�ȉ��̒ʂ肾�B

  1. �l�C�}�㏸���F �Q�l�L���uPyTorch vs. TensorFlow�A�f�B�[�v���[�j���O�t���[�����[�N�͂ǂ������g���ׂ�������v
  2. Pythonic�F Python�̃C�f�B�I�������܂����p�������R�ȃR�[�f�B���O���”\
  3. �_���g�����ɗD���F �u���I�v�Ɍv�Z�O���t�i�����C�u���������Ōv�Z�����Ɏg���f�[�^�t���[�Ȃǂ̃O���t�j���\�z�ł���

�@3�Ԗڂ����ɏd�v�ŁA�Ⴆ�΃��f���̃t�H���[�h�v���p�Q�[�V�����i���`�d�j����if������for���[�v�Ȃǂ̐���t���[�������Ȃǂ��ē��I�Ɍv�Z�O���t��ύX����Ƃ��������Ƃ��”\���B�Ƃ�킯NLP�iNatural Language Processing�F���R���ꏈ���j�̕���ł́A�����҂͂��܂��܂Ȓ����̕����P������K�v������̂ŁA�u���I�Ȍv�Z�O���t�v�@�\���K�v�s�Œ��ł���i�����ۂɕM�҂��uPyTorch���f�t�@�N�g�X�^���_�[�h�ɂȂ��Ă���v�Ə��߂ĕ������̂́ANLP�̕��삾�����j�B

�@�u���I�Ȍv�Z�O���t�v�͂������PyTorch�ȊO�̃��C�u�����ɂ����ڂ���Ă���A���̃��C�u�����ł́gDefine-by-Run�h�i���s���Ȃ����`����j��Eager Execution�i�������s�j�ȂǂƂ��Ă΂�Ă���B�Ⴆ��TensorFlow 2.0�ȍ~�ɂ�Eager Execution�����ڂ��ꂽ���A�u���I�Ȍv�Z�O���t�v�ׂ̍��Ȏg�������PyTorch�Ɉ���̒�������i�ƕM�҂͊����Ă���j�B

�{�A�ڂ̑�3��܂łŐ��������܂��ȗ���

�@�{�A�ڂł́APyTorch�̊�b����C�萬�i�������j�ɏK�����Ă����B��̓I�ɂ́A���̗���Ő�������B

�@ �i1�j�j���[�����̃��f����`
�@ �i2�j�t�H���[�h�v���p�Q�[�V�����i���`�d�j
�@ �i3�j�o�b�N�v���p�Q�[�V�����i�t�`�d�j�Ǝ��������iAutograd�j
�@ �i4�jPyTorch�̊�b�F �e���\���ƃf�[�^�^
�@ �i5�j�f�[�^�Z�b�g�ƃf�[�^���[�_�[�iDataLoader�j
�@ �i6�j�f�B�[�v�j���[�����l�b�g�̃��f����`
�@ �i7�j�w�K�^�œK���i�I�v�e�B�}�C�U�j
�@ �i8�j�]���^���x����

�@�i1�j�`�i3�j��1�Z�b�g�ŁA1�‚̃j���[���������̃l�b�g���[�N���ނɁAPyTorch�̊j�ƂȂ镔�����������B���ꂪ��1��i�{�e�j�B

�@�i4�j�́A���{�i�I��PyTorch�ɂ��f�B�[�v���[�j���O�̎菇���w�Ԃɓ�����APyTorch�̊�b�����i�e���\���ƃf�[�^�^�j���`�[�g�V�[�g�`���ł����Ɗm�F���Ă��������B���ꂪ��2��B

�@�i5�j�`�i8�j���Ă�1�Z�b�g�ŁA4�w�̃f�B�[�v�j���[�����l�b�g���[�N���ނɁAPyTorch�ɂ���{�I�Ȏ����ƈ�A�̗�����������B���ꂪ��3��ł���B

�@��3��܂ł̃^�C�g���͉��L�̂悤�ɂȂ��Ă���B

�@�S���ǂݒʂ��Ƃ��Ȃ�̃{�����[���ɂȂ��Ă��邪�A�撣���čŌ�܂ŕt���Ă��Ăق����B

�i1�j�j���[�����̃��f����`

�@����ł́A�u�j���[�����v�̓��͂Əo�͂��s���R�[�h��PyTorch�ŋL�q���Ă݂悤�B

PyTorch 1.4�̃C���X�g�[��

�@�{�A�ڂł́APyTorch�̃o�[�W����1.4�ȏ���K�{�Ƃ���i��Colab�ɃC���X�g�[���ς݂�PyTorch�o�[�W������������Ȃ��ꍇ�́Aimport torch; print('PyTorch', torch.__version__)�����s����΁A�o�[�W�������m�F�ł���j�B

�@�{�A�ڂ����p��O��Ƃ���Colab�Ƀf�t�H���g�ŃC���X�g�[���ς݂̃o�[�W�����́A�i2020�N2��4�����M���_�ŁjPyTorch 1.4.0�������B�o�[�W������1.4�ȏ��ł͂Ȃ��ꍇ�́A���C�u�����utorch�v���ŐV�łɃA�b�v�O���[�h���Ďg���K�v������B

�@���̂��߂ɂ́A���X�g1-0�Ɏ��������ꂩ�̃R�[�h�����s���āA�A�b�v�O���[�h�i�������̓C���X�g�[���j����B���s��ɁA�mRESTART RUNTIME�n�{�^�����\�������̂ŁA�N���b�N���ă����^�C�����ċN�����Ăق����B

#!pip install torch        # ���C�u�����uPyTorch�v���C���X�g�[��
#!pip install torchvision  # �摜�^�r�f�I������PyTorch�p�lj��p�b�P�[�W���C���X�g�[��

# �ŐV�o�[�W�����ɃA�b�v�O���[�h����ꍇ
!pip install --upgrade torch torchvision

# �o�[�W�����𖾎����ăA�b�v�O���[�h����ꍇ
#!pip install --upgrade torch===1.4.0 torchvision===0.5.0

# �ŐV�o�[�W�������C���X�g�[������ꍇ
#!pip install torch torchvision

# �o�[�W�����𖾎����ăC���X�g�[������ꍇ
#!pip install torch===1.4.0 torchvision===0.5.0

���X�g1-0�@�m�I�v�V�����n���C�u�����uPyTorch�v�ŐV�o�[�W�����̃C���X�g�[��

�@���X�g1-0�ł́A�utorchvision�v�p�b�P�[�W���A�b�v�O���[�h�i�������̓C���X�g�[���j���Ă��邪�A�{�A�ڂł͎g���Ă��Ȃ��B�����������ɃC���X�g�[�����Ă����Ȃ��ƁA�p�b�P�[�W�֌W���s�����ɂȂ邽�߁A�����ŃC���X�g�[�����Ă����K�v������B

�j���[�����̃��f���݌v�Ɗ������֐�

�@PyTorch�̗��p�‹����������Ƃ��Ęb��i�߂悤�B�����ł́A2���̓��͂��󂯕t���āA������g�����v�Z���ʂ�1���̏o�͂Ƃ��Đ�������j���[�������A���f�����i�����f���݌v�j����B

�@���f���݌v�̂��߂ɁA���C�u�����uPyTorch�v�̃��C���p�b�P�[�W�ł���torch���C���|�[�g���A���̒��Œ�`����Ă���nn�p�b�P�[�W�i��NN�F�j���[�����l�b�g���[�N�@�\�j���g���āAtorch.nn.Module�N���X���p�������u�Ǝ��̔h���N���X�v�i����̖��O�́uNeuralNetwork�v�j���쐬����B�Ȃ��Atorch.nn.Module���u���W���[���v�ƋL�ڂ���ƁAPython�́u���W���[���v�ƕ���킵���̂ŁA�{�A�ڂł́utorch.nn.Module�v�ŕ\�L�𓝈ꂷ��B

�@���Ȃ݂�PyTorch�ɂ�郂�f���̍쐬���@�^�������͊�‚�����A��\�I�Ȃ��̂�������Ȃ�ȉ���3�‚ł���B

  • torch.nn.Module�N���X�̃T�u�N���X���F ���ꂩ���������B�T�^�I�ȏ������Ȃ̂ŁA�ł������߂ł���
  • torch.nn.Sequential�N���X�F �m����Keras�̂悤�ɃV���v���ɏ����邪�APyTorch�̗ǂ����Ȃ��Ȃ�
  • �ᐅ��API���g���ăt���X�N���b�`�����F ������API��torch.nn.Module���g�������A�������悢

�@���f���݌v�̃R�[�h�́A���X�g1-1�̂悤�ɂȂ�B���Ȃ݂�PyTorch�ł́A�C���f���g�̃^�u��������4�ƂȂ��Ă���̂ŁA�{�A�ڂł͂���ɏ]�����ƂƂ���B�����ł͉��炩�̍��W����͂���Ɓi2�‚̓��͒l�j�A���ꂪ�F�Ȃ̂��I�����W�F�Ȃ̂��i1�‚̏o�͒l�j�𐄑�������̂Ƃ���i�F1.0�`�I�����W�F-1.0�͈̔́j�B

import torch       # ���C�u�����uPyTorch�v��torch�p�b�P�[�W���C���|�[�g
import torch.nn as nn  # �u�j���[�����l�b�g���[�N�v���W���[���̕ʖ���`

# �萔�i���f����`���ɕK�v�ƂȂ���́j
INPUT_FEATURES = 2  # ���́i�����j�̐��F 2
OUTPUT_NEURONS = 1  # �j���[�����̐��F 1

# �ϐ��i���f����`���ɕK�v�ƂȂ���́j
activation = torch.nn.Tanh()  # �������֐��F tanh�֐�

# �utorch.nn.Module�N���X�̃T�u�N���X���v�ɂ�郂�f���̒�`
class NeuralNetwork(nn.Module):
    def __init__(self):
        super(NeuralNetwork, self).__init__()
        # �w�ilayer�F���C���[�j���`
        self.layer1 = nn.Linear(  # Linear�́u�S�����w�v���w��
            INPUT_FEATURES,       # �f�[�^�i�����j�̓��̓��j�b�g��
            OUTPUT_NEURONS)       # �o�͌��ʂւ̏o�̓��j�b�g��

    def forward(self, input):
        # �t�H���[�h�p�X���`
        output = activation(self.layer1(input))  # �������֐��͕ϐ��Ƃ��Ē�`
        # �u�o�́��������֐��i��n�w�i���́j�j�v�̌`���ŋL�q����B
        # �w�ilayer�j���d�˂�ꍇ�́A���l�̋L�q�𑱂���΂悢�i��3��j�B
        # �u�o�́ioutput�j�v�͎��̑w�ilayer�j�ւ́u���́iinput�j�v�Ɏg���B
        # ����ł͓��͂��o�͂��ux�v�Ɠ����ϐ����ŋL�q����i����Ĉȉ��ł́ux�v�Ə����j
        return output

# ���f���iNeuralNetwork�N���X�j�̃C���X�^���X��
model = NeuralNetwork()
model   # ���f���̓��e���o��

���X�g1-1�@�j���[�����̃��f���݌v�Ɗ������֐�

�@�R�[�h���ɂł��邾�������̐����R�����g����ꂽ�̂ŁA�{���ł̓|�C���g�݂̂��������ƂƂ��悤�B

�@�܂�class NeuralNetwork(nn.Module):���A�utorch.nn.Module�N���X�̃T�u�N���X���v�̕����ł���B�N���X���ɂ́A

  • __init__�֐��F ���C���[�i�w�j���`����
  • forward�֐��F �t�H���[�h�p�X�i���������֐��ŕϊ����Ȃ���f�[�^�𗬂������j����������

��2�‚̃��\�b�h����������Ă���BNeuralNetwork�N���X���C���X�^���X������΃��f���̍쐬�͊������B

�@���C���[�i�w�j���`���Ă���torch.nn.Linear�N���X�́A�u���̓f�[�^�ɑ΂��Đ��`�ϊ����s�����Ɓv���Ӗ����A��ʓI�ɂ��S�����w�iFully Connected Layer�j�ƌĂ΂�Ă���A���C�u�����ɂ���ẮuDense�w�v�iKeras�Ȃǁj��uAffine�w�v�iNeural Network Console�Ȃǁj�Ƃ��Ă΂�Ă���BLinear�N���X�̃R���X�g���N�^�[�i�����ɂ�__init__�֐��j�̑�1�����Ƒ�2�����ɂ́A���̓��j�b�g���Əo�̓��j�b�g�����w�肷��΂悢�B

�@�������֐��́Aactivation�ϐ��ɒ�`���Ă��邪�A�����tanh�֐��i�}1-1�j���g�p����B

�}1-1�@tanh�֐��i�Q�l��r�ΏہF�V�O���C�h�֐��j �}1-1�@tanh�֐��i�Q�l��r�ΏہF�V�O���C�h�֐��j

�@PyTorch�ł́A�������֐��Ƃ���torch.nn�p�b�P�[�W���Ɉȉ��̂��̂��p�ӂ���Ă���A�����ɗ��p�ł���i���J�b�R������������͓̂��ɗL���Ȃ��́j�B

  • ELU
  • Hardshrink
  • Hardtanh
  • LeakyReLU
  • LogSigmoid
  • MultiheadAttention
  • PReLU
  • ReLU�i�L���j
  • ReLU6
  • RReLU
  • SELU
  • CELU
  • GELU
  • Sigmoid�i�V�O���C�h�j
  • Softplus�i�\�t�g�v���X�j
  • Softshrink
  • Softsign�i�\�t�g�T�C���j
  • Tanh�i�{�A�ڂŎg�p�j
  • Tanhshrink
  • Threshold
  • Softmin
  • Softmax�i�\�t�g�}�b�N�X�j
  • Softmax2d
  • LogSoftmax
  • AdaptiveLogSoftmaxWithLoss

�p�����[�^�[�i�d�݂ƃo�C�A�X�j�̏����l�ݒ�

�@�u�p�����[�^�[�i���d�݂ƃo�C�A�X�j���������������v�Ƃ����j�[�Y�͍������낤�B�Ⴆ�΁u0�v��u��l���z�������_���l�v�ŏ���������Ȃǂ̕��@������B���̕��@�ɂ‚��ẮA��3��Ōf�ڂ��郊�X�g7-4�̖`���Ŏ����B

�@�����ł́u�����I�ȏ������v�ł͂Ȃ��u�C�ӂ̏����l�̎w��v���s�����@���������B�����l�̗�Ƃ��āA2�‚̓��́i�̐ڑ����j�ɂ�����d�݂Ɂu0.6�v�Ɓu-0.2�v���A�o�C�A�X�ɂ́u0.8�v��ݒ肷�邱�Ƃɂ��悤�i���X�g1-2�j�B

# �p�����[�^�[�i�j���[�����ւ̓��͂ŕK�v�ƂȂ���́j�̒�`
weight_array = nn.Parameter(
    torch.tensor([[ 0.6,
                   -0.2]]))  # �d��
bias_array = nn.Parameter(
    torch.tensor([  0.8 ]))  # �o�C�A�X

# �d�݂ƃo�C�A�X�̏����l�ݒ�
model.layer1.weight = weight_array
model.layer1.bias = bias_array

# torch.nn.Module�S�̂̏�Ԃ������`���Ŏ擾
params = model.state_dict()
#params = list(model.parameters()) # ���̂悤�Ɏ擾���邱�Ƃ��”\
params
# �o�͗�F
# OrderedDict([('layer1.weight', tensor([[ 0.6000, -0.2000]])),
#              ('layer1.bias', tensor([0.8000]))])

���X�g1-2�@�p�����[�^�[�i�d�݂ƃo�C�A�X�j�̏����l�ݒ�

�@���X�g1-2���|�C���g�������������B

�@���f���̃p�����[�^�[��torch.nn.Parameter�I�u�W�F�N�g�Ƃ��Ē�`����K�v������B����torch.nn.Parameter�N���X�̃R���X�g���N�^�[�ɂ́Atorch.Tensor�I�u�W�F�N�g�i�ȉ��A�e���\���j���w�肷��i���e���\���̎g�����̏ڍׂ́A��2��Ő�������j�B����torch.Tensor�N���X�̃R���X�g���N�^�[�ɂ́APython�̑��������X�g���w��ł���B���̃N���X�����p���āA�d�݂ƃo�C�A�X��weight_array��bias_array�Ƃ����ϐ��ɒ�`���Ă���B

�@��`�����d�݂�o�C�A�X�����f���ɓK�p����ɂ́A

  • �����f������.�����C���[����.weight�v���p�e�B�F �d�݂��w��”\
  • �����f������.�����C���[����.bias�v���p�e�B�F �o�C�A�X���w��”\

���g�p����΂悢�B

�@�d�݂�o�C�A�X�Ƃ������p�����[�^�[�̏����擾���ĕ\���������ꍇ�ɂ́A�����f������.state_dict()���\�b�h���֗����B���̃��\�b�h���g���΁A�p�����[�^�[�Ƃ�����torch.nn.Module�S�̂̏�Ԃ��擾�ł���B

�@���Ȃ݂ɏ��擾�ł͂Ȃ��A�œK���̂��߂Ɏg���u���ۂ̃p�����[�^�[�̃I�u�W�F�N�g�v���擾����ɂ́A�����f������.parameters()���\�b�h���Ăяo���΂悢�B���̕��@�ɂ‚��ẮA��3��Ɍf�ڂ��郊�X�g7-1�Ŏ����B

�i2�j�t�H���[�h�v���p�Q�[�V�����i���`�d�j

�@�ȏ�Ń��f���̐݌v�͊������B���ۂɃT���v���f�[�^����͂��ăt�H���[�h�v���p�Q�[�V���������s���A���̏o�͌��ʂ��m�F���Ă݂悤�B

�t�H���[�h�v���p�Q�[�V�����̎��s�ƌ��ʊm�F

�@�t�H���[�h�v���p�Q�[�V�����A�‚܂胂�f���ɂ�鐄�_�^�\���́Amodel�I�u�W�F�N�g���֐��̂悤�ɌĂяo�������ł���i�����ɂ�__call__���\�b�h�̌Ăяo���j�B���̊֐��̈����ɂ́A�i�e���\���́j���͒l��n���΂悢�B�߂�l�Ƃ��āA�o�͌��ʁi�‚܂�\���l�j���e���\���l�ŕԂ����B

�@��������ۂɍs���Ă���̂����X�g2-1�ł���B

X_data = torch.tensor([[1.0, 2.0]])  # ���͂�����W�f�[�^�i1.0�A2.0�j
print(X_data)
# tensor([[1., 2.]]) �c�c�Ȃǂƕ\�������

y_pred = model(X_data)  # ���̃��f���ɁA�f�[�^����͂��āA�o�͂𓾂�i���\���Fpredict�j
print(y_pred)
# tensor([[0.7616]], grad_fn=<TanhBackward>) �c�c�Ȃǂƕ\�������

���X�g2-1�@�t�H���[�h�v���p�Q�[�V�����̎��s�ƌ��ʊm�F

�@���X�g2-1�̃|�C���g�������B

Copyright© Digital Advantage Corp. All Rights Reserved.

�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft �� Windows�őO��2025
AI for �G���W�j�A�����O
���[�R�[�h�^�m�[�R�[�h �Z���g���� by ��IT - IT�G���W�j�A���r�W�l�X�̒��S�Ŋ��􂷂�g�D��
Cloud Native Central by ��IT - �X�P�[���u���Ȕ\�͂�g�D��
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B