乙Py先生のプログラミング教室
初学者のためのプログラミング学習サイト

AI

今回は
AI時代のエンジニア生存戦略
代替されづらいエンジニア職種5選
というテーマでお送りします。


解説動画はこちら



AI時代にエンジニアとして生き残るための
生存戦略を説いた動画となっています。

AI時代でも代替されづらい職種5つも合わせて紹介していますので
興味のある方はご覧ください。



AIに代替されづらいエンジニア職種5選

1.サイバーセキュリティエンジニア
脅威は高度化しています 。

攻撃側もAIを使ってきますが、防御側もAIを制御しつつ
倫理や法務が絡む 『最後の防衛線』としての判断を担う必要があります 。 

AIには自動で判断できない、企業の信頼を守るための
『決断』が求められる仕事です 。


2. ソフトウェア(システム)アーキテクト 
これはコードを書く人ではなく、10年先を見据えた
システム全体の設計者です 。

将来の拡張性とコスト効率のバランスを最適化し
サービスの土台を作ります 。 

マイクロサービスの設計や統合、技術選定の最終決定
そしてスケーラビリティの確保など、全体俯瞰の視点が必要です 。


3. ドメインエキスパート
これは『技術』と『現場の現実』をつなぐ翻訳者のような役割です 。
 
業界特有の商習慣やアナログな制約を理解し
AIを現場業務に落とし込む専門家です 。 

例えば、工場や病院などの現場で非効率なプロセスを見つけ
AIで解決可能な形に『課題を定義』する 。

データの異常値が故障の予兆なのか設定変更によるものなのか
現場知識に基づいて『文脈を理解』する 。

そして、AIの予測結果を現場の作業員が使いやすい形に
『調整して実装』する。

こうした人間臭い調整力が武器になります 。


4. MLOpsエンジニア
いわばAI運用の守護神です 。 

AIの品質を維持し続ける仕組みを作るには
一定レベルのエンジニアが不可欠です 。 

新しいデータが入ったら自動で再学習・テスト
デプロイを行うCI/CDパイプラインの構築 。

AIの精度低下や異常出力をリアルタイムで監視するシステムの構築 。

そして、高価なGPUリソースなどを最適化し、
コストを抑えつつ高速なレスポンスを実現することなどが求められます 。


5. データエンジニア
これはAIの生命線を司る職種と言えます 。
なぜなら、『質の高いデータがなければAIは機能しない』からです 。

膨大な生データを加工するETL設計や
ガバナンス、プライバシーの担保を担います 。 

AI活用のボトルネックを解消する存在として
現代で最も市場価値の高い職種の一つです 。


PS
もしデータエンジニアのキャリアに興味がある方がいれば
ぜひ動画のコメントに書いてください。

市場価値の高いこのポジションに挑戦したい方が
どれだけいるのか、参考にさせていただきたいので
是非コメントお待ちしています 。


今回は静止画をリアルタイムでいじれる
FacePokeで遊んでみました。


解説動画はこちら




今回は静止画をリアルタイムでいじれる
「FacePoke」のご紹介です。

静止画の顔を変形させて
色々遊ぶ事ができるエディターがあるので
ご紹介します。


github




Expressionエディターの方は左上からイメージを選択して
左下のエディターを操作すると
右側に変化した画像が出力されます。

スクリーンショット 2024-10-12 17.23.12

いじれる項目は
HEAD : 頭部
EYES : 目元
MOUTH : 口元
になっていて、傾きや向き、開き具合などを調整できます。




リアルタイムエディターの方は
マウス操作のみで画像を変化させる事ができます。
スクリーンショット 2024-10-12 17.23.34

右上の「Show face makers」からマーカーを出すこともできます。
変化させたい部分をクリック、ドラッグすると変化します。

画像の色々な部分をクリックすると、そちらを向くように
画像が変化するようです。

色々いじって遊んでみてください。
今回はここまでです、それでは!!!!

今回は最近話題の
ジェネレーティブAIについて
まとめてみました

解説動画はこちら



ジェネレーティブAIについて


英:Generative AI
ジェネレーティブAIとは
コンテンツやモノについてデータから学習し
それを使用して創造的で現実的なアウトプットを
生み出す機械学習手法を用いた「生成AI」のことです


主なコンテンツには
・文章
・画像
・音楽
などがあります


流行りの生成サービス

・画像生成
Artbreeder
DALL-E
Stable Diffusion
Midjourney

・文章生成
ChatGPT


ジェネレーティブAIの注意点

画像生成では、ごくたまに
元の画像と全く同じものを
生成してしまう可能性があるので
注意が必要です
(学習データが特定個人だったり
少なすぎた場合)

文章生成では、学習した単語間の
確率分布に従って答えを返すため
質問に対する回答が
必ずしも正しいとは限らないので
注意する必要があります

学習データによって偏った意見や
間違った知識を植えられて
しまっている場合があるため
見極める必要もあります


ChatGPTを賢く使う事例

次の様な用途でうまく使えます
1.文章の要約
2.ブレスト
3.ロールプレイング
4.クロスレビュー

「プロンプト」と呼ばれる
入力する文字列の内容が重要となるので
次の事を指定しておくと良い結果が得られます

1.前提情報を与えておく
2.役割を決めておく
3.品質を指定しておく


ChatGPTのプロンプトテンプレート

テンプレートを使うと
より良い結果にたどり着くのが早まります

# 命令書:
あなたは {役割} です
以下の制約条件をもとに
{用途} を出力してください

# 制約条件:
・文字数は {文字数} 文字程度にすること
・{提示する対象} にもわかりやすくすること
・重要なキーワードを取り残さないこと
・文章を簡潔にすること

追加の情報が必要な場合は
質問をしてください

こんな感じのテンプレートを作成しておき
用途によって変更すると良いでしょう

作成例はこんな感じです
# 命令書:
あなたは大企業のマーケター です
以下の制約条件をもとに
キャンプ用品のアイデアを出力してください

# 制約条件:
・文字数は 500文字程度にすること
・初めて使う人にもわかりやすくすること
・重要なキーワードを取り残さないこと
・文章を簡潔にすること

追加の情報が必要な場合は
質問をしてください



まとめ


今後はもっと生成AIが増えてくるので
流行りのAIの情報収集を行い
使いこなす方法を身につけておくのが
良いでしょう


まずは試してみる・・・
から始めてみるのが
良いと思いますね

今回はジェネレーティブAIを
取り上げてみました
それでは

今回は画像の美人度を判定できる
APIを用いて顔の美人度の
点数を判定していきたいと思います。

解説動画はこちら 


今回使用したのが
Face++ というアプリのAPIです。

これは顔の美人度を判定して
返すことができるので
これを見ていきたいと思います。

なお利用にはAPIキーを取得する必要があるので
先に登録をしておかないと動かせません。

やってみたい方は
こちらのリンクからゲットしておいて下さい。

Face++の登録先

さてサンプルプログラムを見ていきましょう。

先にキーを文字列で指定しておきます。
api_key = "先にAPIキーとかをゲットしてね"
api_secret = "先にAPIキーとかをゲットしてね"

サンプルプログラムはこちら

import requests
import base64
from collections import defaultdict
from pathlib import Path
import pickle
import time

endpoint = 'https://api-us.faceplusplus.com'

face_dict1 = defaultdict(str)

# 画像のフォルダを指定する
src1 = sorted(Path('img/1/').glob('*.png'))

# APIをつついて結果を取得する
for i, file in enumerate(src1):
    img_file = base64.encodestring(open(file, 'rb').read())
    response = requests.post(
        endpoint + '/facepp/v3/detect',
        {
            'Content-Type': 'multipart/form-data',
            'api_key': api_key,
            'api_secret': api_secret,
            'image_base64': img_file,
            'return_attributes': 'gender,age,headpose,facequality,eyestatus,emotion,ethnicity,beauty,mouthstatus'
        }
    )
    time.sleep(1.9)
    try:
        result = response.json()
        face_dict1[file.name[:-4]] = result
        print(i,file.name[:-4],'OK')
    except:
        print(i,file)

apiキーの部分はご自身ので差し替えて下さい。

あらかじめ画像を用意しておく必要があるので
ノートブックの配下のフォルダに
pngファイルを格納して下さい。

キーなどが揃っていればAPIは動きますが
画像によっては失敗することもあります。

成功したものだけ結果に残します。


結果を見るには次のコードで行います。
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
%matplotlib inline

result_1 = {}
for k,v in face_dict1.items():
    result_1[k] = v['faces'][0]['attributes']['beauty']['female_score']

for k,v in sorted(result_1.items(),reverse=True,key=lambda x:x[1]):
    im = Image.open("img/1/{0}.png".format(k))
    img_resize = im.resize((500, int(500*(im.height/im.width))))
    plt.imshow(np.asarray(img_resize))
    plt.text(0.4, 0.4, v, size=30)
    plt.axis("off")
    plt.show()

さて、誰がどんな点数になったでしょうか
点数に関しては動画の方をご覧ください。

上位と下位で判定してみましたが
納得感のある点数が出るのでは
ないでしょうか?!?!?!

自分の顔画像とかも送ってみれば
客観的に判断できるかもしれませんね。

興味がある方は
使ってみて下さい。

今日はここまでです
それでは

今回は最近出来た
AIによる音声合成サービスである
CoefontStudioのご紹介です


解説動画はこちら


さて
こちらは最近出来た音声合成のサービスのようです
coefont.studio


何も登録しなくても30文字までなら
音声を確認する事ができます
スクリーンショット 2021-05-02 17.27.20

せっかくなんで
もっと試したいですよね

Googleアカウントを持っていれば
そのままログインできますんで
YouTubeなんかみてる人は
Gアカウントでログインしましょう


ログインするとこんな感じです
スクリーンショット 2021-05-02 17.29.33

音声合成できるキャラクターは
「アリアル」と「ミリアル」の2種類で
「ミリアル」の方はプロトタイプの明記がありました。

テキストは1ブロック200文字まで入力でき
それ以上はブロックを分けるみたいです。
スクリーンショット 2021-05-02 17.31.51

ブロックごとに読み上げの設定が行えます
声のスピードや声の高さ
読みやアクセントの修正が行えるようです

スクリーンショット 2021-05-02 17.32.23

また、音声データのダウンロードも行えます。

かなり自然に読み上げている部分もあり
最近の音声合成サービスの質の高さには
おどろかされるばかりです。

このサービス自体は無料で利用できますが
合成した音声を利用する場合は
コピーライトを付けてください。

自分の声でフォントを作れるみたいな
明記もあったので
そっちは有料かもしれませんね

なかなか面白くて使えるサービスですので
音声読み上げの際は利用したいですね

今回はこれまでです
それでは。

このページのトップヘ